#include <iostream>
#include <bits/stdc++.h> 
typedef long long ll;

using namespace std;
string k; 
vector<int> v; 
int d; 
int n = 18; 
ll M = 1e9 + 7; 
const int N = 1e4 + 5; 
const int D = 5; 
ll dp[N][D][2] ; 
void getdig(ll x){
     k = ""; 
     for(int i = n ; i>=0; i--){
ll p = pow(10ll,i); 
          ll a = x/p;
          char c = a + '0'; 
         k += c; 
         x = x%p; 
     }

}
ll solve(int i, int count, int can){

     if(i < 0 && count <= 3) return 1ll; 
     else if(i < 0) return 0; 
  if(~dp[i][count][can] && can) return dp[i][count][can] ;  
     
     ll ans = 0ll; 
     int a =   k[n - i] - '0'; 
 for(int dig = 0; dig <= ((can)?9:a) ; dig++){
    int nc = count; 
    if(nc < 4) nc += (dig > 0); 
 ans += solve(i - 1, nc, can||(dig < a)); 
   }
   return dp[i][count][can] = ans; 
}

int main() {
	ios_base::sync_with_stdio(false); 
    cin.tie(NULL); cout.tie(NULL); 
    memset(dp, - 1, sizeof(dp)); 
    int t;cin>>t; 
    while(t--){
         ll l, r; cin>>l>>r; 
         getdig(r);
         ll ans = solve(18, 0,0); 
         getdig(l -1ll); 
         ans = ans - solve(18,0,0); 
        cout<<ans<<endl; 
    }

}