#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int num[6]={1,2,3,5,7,9};
int n;
int jugdePrime(int n)
{
if(n==1) return 0;
if(n==2) return 1;
if(n%2==0) return 0;
for(int i=3;i*i<=n;i+=2)
{
if(n%i==0)
return 0;
}
return 1;
}
void fun(int k,int flag)
{
if(k>=n)
{
printf("%d\n",flag);
return ;
}
int i,t;
for(i=0;i<6;i++)
{
t=flag*10+num[i];
if(jugdePrime(t))
{
fun(k+1,t);
}
}
}
int main()
{
while(scanf("%d",&n)!=EOF)
{
fun(0,0);
}
return 0;
}
递归过,数据量很少的