题目传送门
#include<cstdio>
using namespace std;
const long long int N=100000050;
bool hw[N],prime[N];
void isHWS(int n,int n1)
{
int temp=n,ans=0;
for(int i=n;i<=n1 && temp!=0;++i)
{
ans=ans*10+temp%10;
temp/=10;
if(ans==n)hw[ans]=true;
else hw[ans]=false;
}
}
void isprime(int n,int n1)
{
for(int i=n;i<=n1;++i)
{
if(i<=1)prime[i]=false;
if(i==2 || i==3)prime[i]=true;
if(i%6!=1 && i%6!=5)prime[i]=false;
for(int j=6;j*j<=i;j+=5)if(j%i==0 || j%(i+2)==0)prime[j]=false;
}
}
int main()
{
long long int a,b;
scanf("%lld%lld",&a,&b);
isHWS(a,b);
isprime(a,b);
for(int i=a;i<=b;++i)
if(hw[i]==true && prime[i]==true)printf("%d\n",i);
return 0;
}