DFS
//DFS
//真的不能随便用全局变量
#include"stdio.h"
#include"string.h"
int circle[20],p[40],vis[20];
int n,order=1;
void dfs(int c,int cnt)
{
int i,j;
if(cnt==n&&p[1+circle[n]])
{
for(j=1;j<n;j++)
printf("%d ",circle[j]);
printf("%d\n",circle[j]);
return;
}
for(i=2;i<=n;i++)
if(!vis[i]&&p[i+c])
{
vis[i]=1;
circle[cnt+1]=i;
dfs(i,cnt+1);
vis[i]=0;
}
}
main()
{
int i,j;
memset(p,1,sizeof(p));
for(i=2;i<20;i++)
for(j=2;i*j<40;j++)
p[i*j]=0;
circle[1]=1;
while(scanf("%d",&n)!=EOF)
{
memset(vis,0,sizeof(vis));
vis[1]=1;
printf("Case %d:\n",order++);
dfs(1,1);
printf("\n");
}
}