/*
题意:素数环,相邻的两个数的和为素数。
*/
#include<iostream>
using namespace std;
int ans[21], n;
bool a[40], b[21];
void work(int k)
{
int i;
if(k==n+1)
{
if(!a[ans[1]+ans[n]])
return;
bool pp=false;
for(i=1; i <= n; i++ )
{
if(pp)
printf(" ");
printf("%d", ans[i]);
pp=true;
}
printf("\n");
return ;
}
for(i=1; i <= n; i++ )
{
if(!b[i])
{
ans[k]=i;
if(ans[1]!=1)
return;
if(a[ans[k]+ans[k-1]]==false)
continue;
b[i]=true;
work(k+1);
b[i]=false;
}
}
}
int main()
{
memset(a, false, sizeof(a));
a[1]=a[2]=a[3]=a[5]=a[7]=a[11]=a[13]=a[17]=a[19]=a[23]=a[29]=a[31]=a[37]=true;
int p=1;
while(scanf("%d", &n) != EOF)
{
printf("Case %d:\n", p++);
memset(b, false, sizeof(b));
work(1);
printf("\n");
}
return 0;
}