#include <fstream>
using namespace std;
ifstream fin("vuli.in");
ofstream fout("vuli.out");
int citire()
{
int x;
fin>>x;
return x;
}
int SumaCifre(int x)
{
int sum=0;
while(x!=0)
{
sum+=x%10;
x=x/10;
}
return sum;
}
int Fabulos(int x)
{
if(x==1) return 1;
if(x==2) return 1;
if(x%2==0) return 0;
for(int i=3;i*i<=x;i=i+2)
if(x%i==0) return 0;
return 1;
}
void Generare(int k, int sol[])
{
int aux[100]={0};
sol[1]=1;
int linie=1;
while(linie<=k)
{
for(int j=1;j<=linie+1;j++)
aux[j]=sol[j]+sol[j-1];
for(int j=1;j<=linie+1;j++)
sol[j]=aux[j];
linie++;
}
int m;
if(k%2==1) m=(k+1)/2;
if(k%2==0) m=(k+2)/2;
for(int i=1;i<=m;i++)
if(Fabulos(SumaCifre(sol[i]))==1) fout<<sol[i]<<" ";
}
int main()
{
int k=citire();
int sol[100]={0};
Generare(k,sol);
return 0;
}
I2luY2x1ZGUgPGZzdHJlYW0+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppZnN0cmVhbSBmaW4oInZ1bGkuaW4iKTsKb2ZzdHJlYW0gZm91dCgidnVsaS5vdXQiKTsKaW50IGNpdGlyZSgpCnsKICAgIGludCB4OwogICAgZmluPj54OwogICAgcmV0dXJuIHg7Cn0KCmludCBTdW1hQ2lmcmUoaW50IHgpCnsKICAgIGludCBzdW09MDsKICAgIHdoaWxlKHghPTApCiAgICB7CiAgICAgICAgc3VtKz14JTEwOwogICAgICAgIHg9eC8xMDsKICAgIH0KICAgIHJldHVybiBzdW07Cn0KCmludCBGYWJ1bG9zKGludCB4KQp7CiAgICBpZih4PT0xKSByZXR1cm4gMTsKICAgIGlmKHg9PTIpIHJldHVybiAxOwogICAgaWYoeCUyPT0wKSByZXR1cm4gMDsKICAgIGZvcihpbnQgaT0zO2kqaTw9eDtpPWkrMikKICAgICAgICBpZih4JWk9PTApIHJldHVybiAwOwogICAgcmV0dXJuIDE7Cn0KCnZvaWQgR2VuZXJhcmUoaW50IGssIGludCBzb2xbXSkKewogICAgaW50IGF1eFsxMDBdPXswfTsKICAgIHNvbFsxXT0xOwogICAgaW50IGxpbmllPTE7CiAgICB3aGlsZShsaW5pZTw9aykKICAgIHsKICAgICAgIGZvcihpbnQgaj0xO2o8PWxpbmllKzE7aisrKQogICAgICAgICAgICBhdXhbal09c29sW2pdK3NvbFtqLTFdOwogICAgICAgZm9yKGludCBqPTE7ajw9bGluaWUrMTtqKyspCiAgICAgICAgICAgc29sW2pdPWF1eFtqXTsKICAgICAgIGxpbmllKys7CiAgICB9CiAgICBpbnQgbTsKICAgIGlmKGslMj09MSkgbT0oaysxKS8yOwogICAgaWYoayUyPT0wKSBtPShrKzIpLzI7CiAgICBmb3IoaW50IGk9MTtpPD1tO2krKykKICAgICAgIGlmKEZhYnVsb3MoU3VtYUNpZnJlKHNvbFtpXSkpPT0xKSBmb3V0PDxzb2xbaV08PCIgIjsKCn0KaW50IG1haW4oKQp7CiAgICBpbnQgaz1jaXRpcmUoKTsKICAgIGludCBzb2xbMTAwXT17MH07CiAgICBHZW5lcmFyZShrLHNvbCk7CiAgICByZXR1cm4gMDsKfQo=