1 #include<cmath>
2 #include<cstring>
3 #include<cstdio>
4 int n;
5 bool vis[20];
6 int ans[20];
7 int num[101];
8 void out()
9 {
10 for(int i=1;i<=n;++i)
11 printf("%d ",ans[i]);
12 printf("\n");
13 }
14 void dfs(int s)
15 {
16 for(int i=2;i<=n;++i)
17 {
18 if(vis[i]==0&&!num[ans[s-1]+i])
19 {
20 vis[i]=1;
21 ans[s]=i;
22 if(s==n&&!num[ans[n]+ans[1]])out();
23 dfs(s+1);
24 vis[i]=0;
25 }
26 }
27 }
28 void chu() //筛法
29 {
30 num[1]=num[0]=1;
31 for(int i=2;i<=10;++i)
32 {
33 if(num[i]==0)for(int j=i*i;j<=100;j+=i)
34 num[j]=1;
35 }
36 }
37 int main()
38 {
39 chu(); //初始化
40 scanf("%d",&n);
41 if(n%2==1)
42 {
43 printf("\n");
44 return 0;
45 }
46 memset(vis,0,sizeof(vis));
47 vis[1]=1;
48 ans[1]=1;
49 dfs(2);
50 return 0;
51 }