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 = 1000000007

def _sum(x, y):
	return y*(y+1)/2 - x*(x-1)/2

def f(x, y):
	sx = str(x)
	sy = str(y)
	if len(sx) == len(sy):
		return (_sum(x, y) * len(sx)) % MOD
	else:
		s = _sum(x, int('9' * len(sx))) * len(sx)
		s += _sum(int('9' * (len(sy)-1)) + 1, y) * len(sy)
		s %= MOD
		for ll in xrange(len(sx) + 1, len(sy)):
			s += _sum(10**(ll-1), 10**ll - 1) * ll
			s %= MOD
		return s

t = int(raw_input())
for tt in xrange(t):
	[l, r] = [int(i) for i in raw_input().split()]
	print f(l, r)