from functools import lru_cache MOD = 1000000007 MA = 19 pow10 = [1] * (2 * MA + 1) for i in range(MA): pow10[i + 1] = pow10[i] * 10 % MOD full = [0] * (2 * MA + 1) pref = [0] * (2 * MA + 1) for i in range(1, MA + 1): full[i] = 45 * pow10[2 * i - 2] % MOD pref[i] = (pref[i - 1] + full[i]) % MOD @lru_cache def calc(n): if n <= 0: return 0 if n < 10: return n * (n + 1) // 2 k = len(str(n)) q, r = divmod(n, 10) start = pow10[k - 2] s = pref[k - 1] if q > start: s += 10 * (calc(q - 1) - pref[k - 2]) % MOD s += 45 * pow10[k - 1] * (q - start) % MOD s += (r + 1) * int(str(q)[::-1]) % MOD s += r * (r + 1) // 2 * pow10[k - 1] % MOD return s % MOD for _ in range(int(input()[1:][::-1])): l, r = map(int, input()[1:].split()) # print(l, r) ans = (calc(r) - calc(l - 1)) % MOD print("‮", ans, sep="")