using namespace std;
bool p[1000010];
void creatTable(){
memset(p,true,sizeof(p));
p[0]=false;
p[1]=false;
for(int i=2;i*i<1000000;i++){
for(int j=2;j*i<1000000;j++){
p[j*i] = false;
}
}
}
int reverse(int num){
int *R = new int[1000000];
int count=0;
while(num){
R[count++]=num%10;
num/=10;
}
int out=0;
for(int i=0;i<count;i++){
out = out*10+R[i];
}
delete R;
return out;
}
int main(){
creatTable();
int num;
scanf("%d",&num);
int count=0;
int result=-1;
for(int i=10;i<1000000;i++){
if(p[i]&&p[reverse(i)]&&(i!=reverse(i)))
count++;
if(count==num)
{
result=i;
break;
}
}
printf("%d",result);
return 0;
}
#百度#