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