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.
MOD = 10**9 + 7
for t in xrange(int(raw_input())):
	a, b= map(int,raw_input().split())
	l = len(str(a))
	n = 10**l
	s = 0
	if (b<n):
		s += (b*(b+1)/2 - a*(a-1)/2)*l
		s %= MOD
	else:
		while (b>=n):
			s += (((n*(n-1)/2)%MOD - (a*(a-1)/2)%MOD)*l)%MOD
			s %= MOD
			#print "till", n, a, (n*(n-1)/2 - a*(a-1)/2), l
			l += 1
			a = n
			n *= 10
		n /= 10
		#print "remains", b, n-1, (b*(b+1)/2 - n*(n-1)/2)*l, l
		s += (((b*(b+1)/2)%MOD - (n*(n-1)/2)%MOD)*l)%MOD
		s %= MOD
	print s