#include<bits/stdc++.h>
#define f dp[x][r][id[lcm]]
using namespace std;
typedef long long ll;
ll T,n,l,r,id[2525],a[20],cnt;
pair<ll,ll> dp[20][2525][50];
ll dfs(ll x,ll r,ll lcm,ll lim){
if(!x) return !(r%lcm);
if(!lim&&f.first==cnt) return f.second;
ll res=0,up=lim?a[x]:9;
for(ll i=0;i<=up;i++) res+=dfs(x-1,(r*10+i)%2520,(i==0)?lcm:lcm*i/__gcd(lcm,i),lim&&i==up);
return (f={cnt,res}).second;
}
ll s(ll x){
n=0;cnt++;
while(x) a[++n]=x%10,x/=10;
return dfs(n,0,1,1);
}
int main(){
for(ll i=0;i<256;i++){
ll lcm=1;
for(ll j=0;j<=7;j++){
if(i&(1<<j)) lcm=lcm*(j+2)/__gcd(lcm,j+2);
}
if(!id[lcm]) id[lcm]=++n;
}
cin>>T;
while(T--) cin>>l>>r,cout<<s(r)-s(l-1)<<"\n";
return 0;
}
本地不开O2才2s出头,CF上居然4s都跑不过