#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn=1e2+10;
int dp[maxn][20];
int a[maxn];
int dfs(int pos,int k,int limit)
{
        if(k>3)    return 0;
        if(pos==0) return 1;
        if(!limit && dp[pos][k]!=-1) return dp[pos][k];
        int t=0;
        int up=limit?a[pos]:9;
        for(int i=0;i<=up;i++)
        {
            if(i==0) t+=dfs(pos-1,k,limit&&i==a[pos]);
            else     t+=dfs(pos-1,k+1,limit&&i==a[pos]);
        }
        if(!limit) dp[pos][k]=t;
        return t;
}
int slove(int p)
{
    int tot=0;
    while(p)
    {
        a[++tot]=p%10; p=p/10;
    }
    return dfs(tot,0,1);
}
int32_t main()
{
    memset(dp,-1,sizeof(dp));
    int q; cin>>q;
    while(q--)
    {
        int l,r; cin>>l>>r;
        cout<<slove(r)-slove(l-1)<<endl;
    }
}