M = 7000000001 def rev(x) : return int(str(x)[::-1], base=10) % M def g(x) : ans = 0 for i in range(1, x) : ans += rev(i) return ans offset = g(10) def f(x) : # print("g = " + str(g(x))) if x <= 15 : return g(x) ans = offset maxdig = len(str(x)) for d in range(2, maxdig) : ans += int("1" * (d-1)) * 45 * pow(10, d-1, M) * 9 ans += 45 * pow(10, (d-1), M) ti = 1 h = 10 ** (maxdig) while x > 0 : maxdig -= 1 for i in range(x % 10) : x -= 1 ans += rev(x) * ti % M h //= 10 x //= 10 if x == 0 : break # print(f"{ans=}, {h=}, {x=}, {ti=}") ans += h * 45 * (x-(h//10)) * ti % M ti = ti * 10 % M ans %= M # print("f = " + str(ans)) return ans # print(g(100), f(100)) # print(g(104), f(104)) # print(g(96), f(96)) for t in range(int(input())) : l,r = map(int,input().split()) ans = (f(r+1) - f(l)) % M print(ans)