#include <bits/stdc++.h> /* 万能头文件 */
using namespace std;
const int MAX = 100000000;
bool prime[MAX + 5] , n , m; /* prime数组用来打表 */
void isPrime() /* 筛法算质数 */
{
memset(prime , true , sizeof(prime));
prime[1] = false;
for (int i = 1; i <= MAX; i++)
{
if (prime[i])
{
for (int j = 2; i * j<=MAX;j++)
{
prime[i * j] = false;
}
}
}
}
bool isPalindrome(int x) /* 回文数函数 */
{
int tmp = x , y = 0;
while (tmp > 0)
{
y = y * 10 + tmp % 10;
tmp /= 10;
}
if (x == y) return true;
else return false;
}
int main()
{
isPrime();
scanf("%d%d" , &n , &m);
for (int i = n; i <= m; i++)
{
if (prime[i] && isPalindrome(i))printf("%d" , i); /* 输出回文质数*/
}
return 0;
}