#ifdef NACHIA #define _GLIBCXX_DEBUG #else // disable assert #define NDEBUG #endif #include #include #include #include using namespace std; using ll = long long; const ll INF = 1ll << 60; #define REP(i,n) for(ll i=0; i using V = vector; template void chmax(A& l, const B& r){ if(l < r) l = r; } template void chmin(A& l, const B& r){ if(r < l) l = r; } ll f(ll x){ ll ans = 0; while(x > 0){ chmax(ans, x%10); x /= 10; } return ans; } ll fsd(ll L, ll R, ll D){ ll ans = 0; if(L/10 == R/10){ for(ll x=L; x<=R; x++) ans += (f(x) >= D ? 1 : 0); return ans; } while(L%10 != 0) ans += (f(L++) >= D ? 1 : 0); while(R%10 != 9) ans += (f(R--) >= D ? 1 : 0); if(L <= R){ ans += fsd(L/10, R/10, D) * D; ans += (R - L + 1) / 10 * (10 - D); } return ans; } void testcase(){ ll L, R; cin >> L >> R; ll ans = 0; for(ll i=1; i<=9; i++) ans += fsd(L, R, i); cout << ans << "\n"; } int main(){ cin.tie(0)->sync_with_stdio(0); ll T; cin >> T; REP(t,T) testcase(); return 0; }