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
def digits( num):
	count =0
	while(num):
		count+=1
		num=num/10
	return count

def sigma(n):
		return (n*(n-1))/2

def sumbetween(l,r):
	return sigma(r+1) - sigma(l)

def answer( l,r):
	if ( l>r):
		return 0
	d=digits(l)
	n=10**d
	if n>r:
		n=r+1
	s = sumbetween(l,n-1)% mod
	s=(s*d ) %mod
	#print n,r
	return (s+answer(n,r))%mod

num=input()

for q in range(num):
	l,r=map( int,raw_input().split())
	print answer( l, r)