Polo, the Penguin, likes numbers. He says that the goodness of a number is itself multiplied by the number of digits in it's decimal representation. For example, the goodness of the integer 474 is 474*3 = 1422.
Help him to count the sum of goodness of all integers from L to R, inclusive. Since the answer can be too large, output it modulo 1,000,000,007 (10^9+7).

Input
The first line of the input contains an integer T denoting the number of test cases. The description of T test cases follows. The only line of each test case contains the pair of integers L and R, separated by a single space.

Output
For each test case, output a single line containing the answer to the corresponding test case.

Constraints

1 ≤ T ≤ 1,000
1 ≤ L ≤ R ≤ 1,000,000,000 (10^9)


Example
Input:
1
9 12

Output:
75


Explanation
Example case 1. The answer is 9*1 + 10*2 + 11*2 + 12*2 = 75.
import sys
import math

t= int(sys.stdin.readline())
while(t>0) :
	t = t-1
	l,r = sys.stdin.readline().split(' ')
	l = int(l)
	r = int(r)
	cat1 = int(math.log10(l));
	cat2 = int(math.log10(r));
	if cat1==cat2:
		sum =  (r*(r+1)/2 - (l*(l-1)/2))*(cat1+1);
		print sum%1000000007
	else:
		cat1 = cat1+1
		num1 = pow(10,cat1);
		num2 = pow(10,cat2);
		sum1 = (((num1-1)*num1)/2 - (l*(l-1))/2)*cat1;
		sum2 = ((r*(r+1))/2 - ((num2-1)*num2)/2)*(cat2+1);
		sum3 = 0;
		for i in range(cat1, cat2):			
			num1 = pow(10,i);
			num2 = pow(10,i+1);
			sum3 +=  (num2*(num2-1)/2 - (num1*(num1-1)/2))*(i+1);
		print (sum1+sum2+sum3)%1000000007