#include<bits/stdc++.h>
using namespace std;
bool a1[100000001],a2[100000001];
bool prime(int n) {
if(n==1)
return 0;
if(n==2)
return 1;
for(int i=2; i*i<=n; i++) {
if(n%i==0) {
return 0;
}
}
return 1;
}
bool check(int n) {
int a,b,c,d,e,f,g,h,i,j,k;
a=n%10;
b=n/10%10;
c=n/100%10;
d=n/1000%10;
e=n/10000%10;
f=n/100000%10;
g=n/1000000%10;
h=n/10000000%10;
if(n<10)
return 1;
if(n<100000000&&n>=10000000)
{
if(h==a&&g==b&&f==c&&e==d)
{
return 1;
}
else
return 0;
}
if(n<10000000&&n>=1000000)
{
if(g==a&&f==b&&e==c)
{
return 1;
}
else
return 0;
}
if(n<1000000&&n>=100000)
{
if(f==a&&e==b&&d==c)
{
return 1;
}
else
return 0;
}
if(n<100000&&n>=10000)
{
if(e==a&&d==b)
{
return 1;
}
else
{
return 0;
}
}
if(n<10000&&n>=1000)
{
if(d==a&&c==b)
{
return 1;
}
else
return 0;
}
if(n<1000&&n>=100)
{
if(c==a)
{
return 1;
}
else
{
return 0;
}
}
if(n<100&&n>=10)
{
if(a==b)
{
return 1;
}
else
return 0;
}
}
int main() {
ios::sync_with_stdio(false);
int i,n1,n2;
cin>>n1>>n2;
for(i=n1; i<=n2; i++) {
if(prime(i)) {
a1[i]=1;
}
}
for(i=n1;i<=n2;i++)
{
if(a1[i]&&check(i))
{
cout<<i<<"\n";
}
}
}