#include<stdio.h>
#include<math.h>
int Issu(int n);
int main()
{
int d1,d2,d3,d4,H;
int a,b;
scanf("%d%d",&a,&b);
printf("5\n");
if(b>=7)
printf("7\n");
if(b>=11)
printf("11\n");
if(b>99)
{ for(d1=1;d1<10;d1+=2)//三位以内的回文质数
{
for(d2=0;d2<10;d2++)
{
H=100*d1+10*d2+d1;
if(H>b)
break;
if(Issu(H)==1)
printf("%d\n",H);
}
}
}
//无偶数位的回文质数
if(b>9999)
{
for(d1=1;d1<10;d1+=2) // 五位
{
for(d2=0;d2<10;d2++)
{
for(d3=0;d3<10;d3++)
{
H=10000*d1+1000*d2+100*d3+10*d2+d1;
if(H>b)
break;
if(Issu(H))
printf("%d\n",H);
}
}
}
}
if(b>999999)
{ for(d1=1;d1<10;d1+=2) // 七位
{
for(d2=0;d2<10;d2++)
{
for(d3=0;d3<10;d3++)
{
for(d4=0;d4<10;d4++)
{
H=1000000*d1+100000*d2+10000*d3+1000*d4+100*d3+10*d2+d1;
if(H>b)
break;
if(Issu(H))
printf("%d\n",H);
}
}
}
}
}
return 0;
}
int Issu(int n) //判断素数
{
int is=1,i;
for( i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
is=0;
break;
}
}
return is;
}```