#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;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4gCnR5cGVkZWYgbG9uZyBsb25nIGxsOwoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKc3RyaW5nIGs7IAp2ZWN0b3I8aW50PiB2OyAKaW50IGQ7IAppbnQgbiA9IDE4OyAKbGwgTSA9IDFlOSArIDc7IApjb25zdCBpbnQgTiA9IDFlNCArIDU7IApjb25zdCBpbnQgRCA9IDU7IApsbCBkcFtOXVtEXVsyXSA7IAp2b2lkIGdldGRpZyhsbCB4KXsKICAgICBrID0gIiI7IAogICAgIGZvcihpbnQgaSA9IG4gOyBpPj0wOyBpLS0pewpsbCBwID0gcG93KDEwbGwsaSk7IAogICAgICAgICAgbGwgYSA9IHgvcDsKICAgICAgICAgIGNoYXIgYyA9IGEgKyAnMCc7IAogICAgICAgICBrICs9IGM7IAogICAgICAgICB4ID0geCVwOyAKICAgICB9Cgp9CmxsIHNvbHZlKGludCBpLCBpbnQgY291bnQsIGludCBjYW4pewoKICAgICBpZihpIDwgMCAmJiBjb3VudCA8PSAzKSByZXR1cm4gMWxsOyAKICAgICBlbHNlIGlmKGkgPCAwKSByZXR1cm4gMDsgCiAgaWYofmRwW2ldW2NvdW50XVtjYW5dICYmIGNhbikgcmV0dXJuIGRwW2ldW2NvdW50XVtjYW5dIDsgIAogICAgIAogICAgIGxsIGFucyA9IDBsbDsgCiAgICAgaW50IGEgPSAgIGtbbiAtIGldIC0gJzAnOyAKIGZvcihpbnQgZGlnID0gMDsgZGlnIDw9ICgoY2FuKT85OmEpIDsgZGlnKyspewogICAgaW50IG5jID0gY291bnQ7IAogICAgaWYobmMgPCA0KSBuYyArPSAoZGlnID4gMCk7IAogYW5zICs9IHNvbHZlKGkgLSAxLCBuYywgY2FufHwoZGlnIDwgYSkpOyAKICAgfQogICByZXR1cm4gZHBbaV1bY291bnRdW2Nhbl0gPSBhbnM7IAp9CgppbnQgbWFpbigpIHsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyAKICAgIGNpbi50aWUoTlVMTCk7IGNvdXQudGllKE5VTEwpOyAKICAgIG1lbXNldChkcCwgLSAxLCBzaXplb2YoZHApKTsgCiAgICBpbnQgdDtjaW4+PnQ7IAogICAgd2hpbGUodC0tKXsKICAgICAgICAgbGwgbCwgcjsgY2luPj5sPj5yOyAKICAgICAgICAgZ2V0ZGlnKHIpOwogICAgICAgICBsbCBhbnMgPSBzb2x2ZSgxOCwgMCwwKTsgCiAgICAgICAgIGdldGRpZyhsIC0xbGwpOyAKICAgICAgICAgYW5zID0gYW5zIC0gc29sdmUoMTgsMCwwKTsgCiAgICAgICAgY291dDw8YW5zPDxlbmRsOyAKICAgIH0KCn0=