#include long long solve(long long x) { long long dp[2][10][2] = {}; int now = 0; std::string s = std::to_string(x); for (int c = 1; c < s[0] - '0'; c++) { dp[now][c][1]++; } dp[now][s[0] - '0'][0]++; for (int i = 1; i < (int)s.size(); i++) { int nxt = 1 - now; for (int j = 0; j < 10; j++) { for (int ii = 0; ii < 2; ii++) { dp[nxt][j][ii] = 0; } } for (int j = 0; j < 10; j++) { for (int c = 0; c < 10; c++) { dp[nxt][std::max(j, c)][1] += dp[now][j][1]; } } for (int j = 0; j < 10; j++) { for (int c = 0; c < s[i] - '0'; c++) { dp[nxt][std::max(j, c)][1] += dp[now][j][0]; } dp[nxt][std::max(j, s[i] - '0')][0] += dp[now][j][0]; } for (int c = 1; c < 10; c++) { dp[nxt][c][1]++; } now = nxt; } long long res = 0; for (int c = 0; c < 10; c++) { res += c * (dp[now][c][0] + dp[now][c][1]); } return res; } int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int tc; std::cin >> tc; for (;tc--;) { long long l, r; std::cin >> l >> r; std::cout << solve(r) - solve(l - 1) << '\n'; } }