#include using namespace std; #define rep(i, a, b) for (int i = (int)(a); i < (int)(b); i++) #define rrep(i, a, b) for (int i = (int)(b) - 1; i >= (int)(a); i--) using ll = long long; using i128 = __int128_t; constexpr ll MOD = 7000000001; constexpr int K = 19; ll pow10[K]; i128 mpow10[K]; // [1,N) ll f(ll N) { i128 ret = 0; rep(k, 0, K) { if (k + 1 < K && pow10[k + 1] <= N) ret += mpow10[k] * mpow10[k] * 45 % MOD; else { i128 x = 0; rrep(l, 0, k + 1) { int c = l == k; int d = N / pow10[l] % 10; ret += x * (d - c) * mpow10[l] % MOD; ret += ((d - c) * (c + d - 1) / 2) * mpow10[k - l] * mpow10[l] % MOD; ret += mpow10[l] * (mpow10[l] - 1) * 5 * mpow10[k - l] * (d - c) % MOD; x += d * mpow10[k - l]; } break; } } return ret; } int main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); pow10[0] = 1; rep(i, 1, K) pow10[i] = pow10[i - 1] * 10; mpow10[0] = 1; rep(i, 1, K) mpow10[i] = pow10[i] % MOD; int T; cin >> T; while (T--) { ll L, R; cin >> L >> R; ll ans = (f(R + 1) - f(L) + MOD) % MOD; cout << ans << "\n"; } }