#include<bits/stdc++.h>
using namespace std;
int l,r,ans=0;
inline bool hwspd(int x){
string a=to_string(x),b=a;
reverse(b.begin(),b.end());
return a==b;
}
inline bool f(int x){
if(x%10000/100==2)
return ((!(x/10000%4)&&x/10000%100)||!(x/10000%400))&&x%100==29;
else if(x%10000/100>12||!(x%100))
return 0;
else
switch(x%10000/100){
case 1:
return x%100<=31;
break;
case 3:
return x%100<=31;
break;
case 4:
return x%100<=30;
break;
case 5:
return x%100<=31;
break;
case 6:
return x%100<=30;
break;
case 7:
return x%100<=31;
break;
case 8:
return x%100<=31;
break;
case 9:
return x%100<=30;
break;
case 10:
return x%100<=31;
break;
case 11:
return x%100<=30;
break;
case 12:
return x%100<=31;
break;
default:
return 0;
break;
}
}
int main(){
cin>>l>>r;
for(int i=l;i<=r;i++)
if(f(i)&&hwspd(i))
ans++;
cout<<ans<<endl;
return 0;
}