#include <bits/stdc++.h>
using namespace std;
vector<int> li;
int bas[11];
int wei(int x) {
int cnt = 0;
while (x != 0) {
cnt++;
x = x / 10;
}
return cnt;
}
void huiwen(int x, int len) {
if (len < 0 || len > 8)
return;
if (wei(x) == len)
li.push_back(x);
int res = x * 10;
for (int i = 0; i <= 9; i++) {
huiwen(res + i + i * bas[len + 1], len + 2);
}
}
bool isprime(int x) {
for (int i = 2; i <= x / i; i++) {
if (x % i == 0)
return 0;
}
return 1;
}
int main() {
bas[0] = 1;
for (int i = 1; i <= 9; i++)
bas[i] = bas[i - 1] * 10;
huiwen(0, 0);
for (int i = 0; i <= 9; i++)
huiwen(i, 1);
sort(li.begin(), li.end());
int a, b;
scanf("%d%d", &a, &b);
for (int x : li) {
if (x < a)
continue;
if (x > b)
break;
if (isprime(x))
printf("%d\n", x);
}
}