#include<iostream>
using namespace std;
bool judge1(int a)
{
int m = 0, arr[20];
while (a)
{
arr[m] = a % 10;
a /= 10;
m++;
}
for (int i = 0; i <=m/2; i++)
{
if (arr[i] != arr[m - 1 - i])
return false;
}
return true;
}
bool judge2(int a)
{
for (int i = 2; i*i<=a; i++)
{
if (a % i == 0)
return false;
}
return true;
}
bool judge3(int a)
{
if (a == 11)
return true;
if ((a >= 10 && a <= 100) || (a >= 1000 && a <= 9999) || (a >= 100000 && a <= 999999) || (a >= 10000000 && a <= 99999999))
{
return false;
}
return true;
}
int main()
{
int a, b;
cin >> a >> b;
if (a % 2 == 0)
a++;
for (int i = a; i <= b; i+=2)
{
if (judge1(i) & judge2(i)&judge3(i))
{
printf("%d\n", i);
}
}
return 0;
}