#include <bits/stdc++.h> using namespace std; int f[10000005],a[10],t[10],cur=0; void dfs(int step,int x) { if(step==x) { int sum=0; for(int i=1;i<=x;i++) { if(i==1&&a[i]==0)goto looop; sum=sum*10+a[i]; } //cout<<sum<<endl; f[sum]=1; looop:; return; } for(int i=0;i<=x-1;i++) { if(t[i]==1)continue; else { t[i]=1; a[step+1]=i; dfs(step+1,x); t[i]=0; a[step+1]=0; } } } int main() { int l,b,cnt=0; cin>>l>>b; memset(a,0,sizeof(a)); memset(t,0,sizeof(t)); dfs(0,1); memset(a,0,sizeof(a)); memset(t,0,sizeof(t)); dfs(0,2); memset(a,0,sizeof(a)); memset(t,0,sizeof(t)); dfs(0,3); memset(a,0,sizeof(a)); memset(t,0,sizeof(t)); dfs(0,4); memset(a,0,sizeof(a)); memset(t,0,sizeof(t)); dfs(0,5); memset(a,0,sizeof(a)); memset(t,0,sizeof(t)); dfs(0,6); memset(a,0,sizeof(a)); memset(t,0,sizeof(t)); dfs(0,7); /*for(int i=a;i<=b;i++) { memset(f,0,sizeof(f)); int t=1; string s=to_string(i); for(int j=0;j<s.size();j++) { f[s[j]-'0']++; if(f[s[j]-'0']>1)goto loop; } for(int j=0;j<s.size();j++) { if(f[j]!=1) { t=0; break; } } if(t==1)cnt++; loop:; } cout<<cnt;*/ for(int i=l;i<=b;i++) { if(f[i]==1)cnt++; } cout<<cnt; return 0; }