#include<bits/stdc++.h>
using namespace std;
#define int long long
int l,r;
int f[15][11][11][2][2][2],a[15];
int t;
int dfs1(int pos,int pre,int ppre,int sim,bool st,bool s8,bool s4,bool lead)
{
if(pos==0)return st&&(s8^s4);
if(!sim&&!lead&&f[pos][pre][ppre][st][s8][s4]!=-1)return f[pos][pre][ppre][st][s8][s4];
int res=0,up=sim?a[pos]:9;
for(int i=0;i<=up;i++)
{
res+=dfs1(pos-1,i,pre,sim&&i==up,st||(i==pre&&pre==ppre&&pos&&pos&&!lead),s8||(i==8),s4||(i==4),lead&&(i==0));
}
return sim?res:(lead?res:f[pos][pre][ppre][st][s8][s4]=res);
}
int c1(int x)
{
memset(f,-1,sizeof f);
int len=0;
while(x)
{
a[++len]=x%10;
x/=10;
}
return dfs1(len,0,0,1,0,0,0,1);
}
signed main()
{
cin>>l>>r;
cout<<c1(r)-c1(l-1);
return 0;
}