88pts,线性筛被luoguT飞
#include <bits/stdc++.h>
using namespace std;
bool check(int x){
string s=to_string(x);
string s2=s;
reverse(s.begin(),s.end());
return s2==s;
}
const int N=1e8+10;
int primes[N],cnt;
bool st[N];
void get(int n){
for(int i=2;i<=n;i++){
if(!st[i])primes[cnt++]=i;
for(int j=0;primes[j]<=n/i;j++){
st[primes[j]*i]=true;
if(i%primes[j]==0)break;
}
}
}
bool is_prime(int n){
return !st[n];
}
int main(){
int a,b;
scanf("%d%d",&a,&b);
get(b+5);
for(int i=a;i<=b;i++){
if(i==1)continue;
if(i==2){putchar(2),putchar('\n');continue;}
if(i%2==0)continue;
if(check(i)&&is_prime(i))printf("%d\n",i);
}
return 0;
}