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
tnp = [1]
for i in range(1,13):
	tnp.append(tnp[i-1]*10)

T = int(raw_input())
MOD = 1000000007

while T:
	T-=1
	L,R = map(int,sys.stdin.readline().split())
	upL = 0
	upLi = 0
	dnR = 0
	dnRi = 0
	for i in range(len(tnp)):
		if tnp[i] >= L:
			upL = tnp[i]
			upLi = i
			break
	

	for i in range(len(tnp)-1,-1,-1):
		if tnp[i] <= R:
			dnR = tnp[i]
			dnRi = i
			break
 	
	if upLi > dnRi :
		a = (R*(R+1))%MOD
		b = (L*(L-1))%MOD
		t = (a-b+MOD)%MOD
		t = (t*len(str(L)))%MOD
		t = (t*500000004)%MOD
		print t
		continue
		
	a = (upL*(upL-1))%MOD
	b = ((L-1)*L)%MOD
	ans = (a-b+MOD)%MOD
	ans  = (ans*upLi)%MOD
	for  i in range(upLi,dnRi):
		a = (tnp[i+1]*(tnp[i+1]-1))%MOD
		b = (tnp[i]*(tnp[i]-1))%MOD
		t = (a-b+MOD)%MOD
		t = (t*(i+1))%MOD
		ans = (ans + t)%MOD 
	
	a = (R*(R+1))%MOD
	b = (tnp[dnRi]*(tnp[dnRi]-1))%MOD
	t = (a-b+MOD)%MOD
	t = (t*(dnRi+1))%MOD
	ans = (ans + t)%MOD
	ans = (ans * 500000004)%MOD
	print ans