#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; } }