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.
def len(n):
    x=0
    while n>0:
        x+=1
        n=n//10
    return x
e=10**9+7
t=int(input())
#l=[0]
#for i in range(1,10**7):
    #l.append((l[-1]+i*len(i))%e)

f=[0]
a=9
b=1
for i in range(10):
    x=(2*b+a-1)%e
    x=(x*a)%e
    y=pow(2,e-2,e)
    x=(x*y)%e
    x=(x*(i+1))%e
    x=(x+f[-1])%e
    b*=10
    a*=10
    
    f.append(x)
#print(f)
def ans(n):
    if n==0:
        return 0
    x=len(n)
    y = f[x-1]
    a=pow(10,x-1,e)
    b=((n+a)*(n-a+1))%e
    b =(b*pow(2,e-2,e))%e
    b=(b*x)%e
    #print(y,b,n)
    return (b+y)%e
    
    
for _ in range(t):
    a,b=map(int,input().split())
    #print(l[b]-l[a-1])
    b = ans(b)
    a=ans(a-1)
    print((b-a)%e)
    

def len(n):
    x=0
    while n>0:
        x+=1
        n=n//10
    return x
e=10**9+7
t=int(input())
#l=[0]
#for i in range(1,10**7):
    #l.append((l[-1]+i*len(i))%e)

f=[0]
a=9
b=1
for i in range(10):
    x=(2*b+a-1)%e
    x=(x*a)%e
    y=pow(2,e-2,e)
    x=(x*y)%e
    x=(x*(i+1))%e
    x=(x+f[-1])%e
    b*=10
    a*=10
    
    f.append(x)
#print(f)
def ans(n):
    if n==0:
        return 0
    x=len(n)
    y = f[x-1]
    a=pow(10,x-1,e)
    b=((n+a)*(n-a+1))%e
    b =(b*pow(2,e-2,e))%e
    b=(b*x)%e
    #print(y,b,n)
    return (b+y)%e
    
    
for _ in range(t):
    a,b=map(int,input().split())
    #print(l[b]-l[a-1])
    b = ans(b)
    a=ans(a-1)
    print((b-a)%e)
    
