#include <cstdio>
#include <iostream>
#include <cmath>
#include <ctime>
using namespace std;
bool prime[100000005];
int isprime(int num){
if(num==2||num==3) return 1;
if(num%6!=1&&num%6!=5) return 0;
int tmp=sqrt(num);
for(int i=5;i<=tmp;i+=6){
if(num%i==0||num%(i+2)==0) return 0;
}
return 1 ;
}void a(int start,int endin){
for(int i=start;i<=endin;i++){
if(isprime(i)==1&&i<10) cout<<i<<endl;
}
}void b(int start,int endin){
if(endin>=11&&start<=11) cout<<"11"<<endl;
}void c(int start,int endin){
for(int i=1;i<=9;i+=2){
if(i==5) continue;
for(int j=0;j<=9;j++){
int ans=i*(100+1)+j*10;
if(ans>=start&&ans<=endin){
if(isprime(ans)==1) cout<<ans<<endl;
}
}
}
}void e(int start,int endin){
if(start>=100000) return;
for(int i=1;i<=9;i+=2){
if(i==5) continue;
for(int j=0;j<=9;j++){
for(int k=0;k<=9;k++){
int ans=i*(10000+1)+j*(1000+10)+k*100;
if(ans>=start&&ans<=endin){
if(isprime(ans)==1) cout<<ans<<endl;
}
}
}
}
}void g(int start,int endin){
if(start>=10000000) return;
for(int i=1;i<=9;i+=2){
if(i==5) continue;
for(int j=0;j<=9;j++){
for(int k=0;k<=9;k++){
for(int l=0;l<=9;l++){
int ans=i*(1000000+1)+j*(100000+10)+k*(10000+100)+l*1000;
if(ans>=start&&ans<=endin){
if(isprime(ans)==1) cout<<ans<<endl;
}
}
}
}
}
}void i(int start,int endin){
if(start>=1000000000) return;
for(int i=1;i<=9;i+=2){
if(i==5) continue;
for(int j=0;j<=9;j++){
for(int k=0;k<=9;k++){
for(int l=0;l<=9;l++){
for(int m=0;m<=9;m++){
int ans=i*(100000000+1)+j*(10000000+10)+k*(1000000+100)+l*(100000+1000)+m*10000;
if(ans>=start&&ans<=endin){
if(isprime(ans)==1) cout<<ans<<endl;
}
}
}
}
}
}
}
int main(){
int start,endin;
cin>>start>>endin;
if(endin>=6&&start<10) a(start,endin);
if(endin>=10&&start<100) b(start,endin);
if(endin>=100&&start<1000) c(start,endin);
if(endin>=10000&&start<100000) e(start,endin);
if(endin>=1000000&&start<10000000) g(start,endin);
if(endin>=100000000&&start<1000000000) i(start,endin);
return 0;
}