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 digits(N):
    if N == 0:
        return 1
    d = 0
    while N > 0:
        d += 1
        N /= 10
    return d


def gauss(N):
    return (N * (N + 1)) / 2


def sum_between(f, to):
    return gauss(to) - gauss(f - 1)


def ans(L, R):
    if L > R:
        return 0

    d = digits(L)
    n = 10 ** (d)
    if n > R:
        n = R + 1

    s = sum_between(L, n - 1) % ((10 ** 9) + 7)
    s = (s * d) % ((10 ** 9) + 7)
    return (s + ans(n, R)) % ((10 ** 9) + 7)


cases = int(raw_input())
for _ in xrange(cases):
    L, R = map(int, raw_input().split())
    print ans(L, R)