#include <bits/stdc++.h> // ZENDA
using namespace std;
#define ll long long
const ll lim=1e6+7;
ll l,r;
vector <ll> a,tmp;
bool snt[lim];
bool check(ll q){
ll tmp=0;
ll w=q;
while (q){
tmp*=10;
tmp+=q%10;
q/=10;
}
if (w==tmp) return 1;
return 0;
}
int main(){
cin.tie(nullptr)->sync_with_stdio(0);
#define F "test"
if (ifstream(F".inp")){
freopen(F".inp","r",stdin);
freopen(F".out","w",stdout);
}
cin>>l>>r;
snt[0]=snt[1]=1;
for (ll i=2;i*i<=lim;i++)
if (!snt[i])
for (ll j=i*i;j<=lim;j+=i)
snt[j]=1;
ll st=sqrt(l)-1;
while (st*st<=r){
if (st*st>=l && st*st<=r)
a.push_back(st);
st++;
}
for (ll v:a)
if (!snt[v]) tmp.push_back(v);
ll res=0;
for (ll v:tmp)
if (check(v)) res++;
cout<<res;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IC8vIFpFTkRBCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCmNvbnN0IGxsIGxpbT0xZTYrNzsKbGwgbCxyOwp2ZWN0b3IgPGxsPiBhLHRtcDsKYm9vbCBzbnRbbGltXTsKYm9vbCBjaGVjayhsbCBxKXsKICAgIGxsIHRtcD0wOwogICAgbGwgdz1xOwogICAgd2hpbGUgKHEpewogICAgICAgIHRtcCo9MTA7CiAgICAgICAgdG1wKz1xJTEwOwogICAgICAgIHEvPTEwOwogICAgfQogICAgaWYgKHc9PXRtcCkgcmV0dXJuIDE7CiAgICByZXR1cm4gMDsKfQppbnQgbWFpbigpewogICAgY2luLnRpZShudWxscHRyKS0+c3luY193aXRoX3N0ZGlvKDApOwogICAgI2RlZmluZSBGICJ0ZXN0IgogICAgaWYgKGlmc3RyZWFtKEYiLmlucCIpKXsKICAgICAgICBmcmVvcGVuKEYiLmlucCIsInIiLHN0ZGluKTsKICAgICAgICBmcmVvcGVuKEYiLm91dCIsInciLHN0ZG91dCk7CiAgICB9CiAgICBjaW4+Pmw+PnI7CiAgICBzbnRbMF09c250WzFdPTE7CiAgICBmb3IgKGxsIGk9MjtpKmk8PWxpbTtpKyspCiAgICAgICAgaWYgKCFzbnRbaV0pCiAgICAgICAgICAgIGZvciAobGwgaj1pKmk7ajw9bGltO2orPWkpCiAgICAgICAgICAgICAgICBzbnRbal09MTsKICAgIGxsIHN0PXNxcnQobCktMTsKICAgIHdoaWxlIChzdCpzdDw9cil7CiAgICAgICAgaWYgKHN0KnN0Pj1sICYmIHN0KnN0PD1yKQogICAgICAgICAgICBhLnB1c2hfYmFjayhzdCk7CiAgICAgICAgc3QrKzsKICAgIH0KICAgIGZvciAobGwgdjphKQogICAgICAgIGlmICghc250W3ZdKSB0bXAucHVzaF9iYWNrKHYpOwogICAgbGwgcmVzPTA7CiAgICBmb3IgKGxsIHY6dG1wKQogICAgICAgIGlmIChjaGVjayh2KSkgcmVzKys7CiAgICBjb3V0PDxyZXM7CiAgICByZXR1cm4gMDsKfQ==