#include<bits/stdc++.h>
using namespace std;
bool prime[33]={0,0,1,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1};
bool taken[17];
vector<int>result;
int n;
void backtracking()
{
int len,i;
len = result.size();
if(len==n && prime[result[0]+result[len-1]])
{
printf("%d",result[0]);
for(i=1 ; i<len; i++)
{
printf(" %d",result[i]);
}
puts("");
return;
}
for(i=1;i<=n;i++)
{
if(!taken[i] && prime[i+result[len-1]])
{
taken[i] = 1;
result.push_back(i);
backtracking();
taken[i] = 0;
result.pop_back();
}
}
}
int main()
{
int cs=0;
while(scanf("%d",&n)==1)
{
if(cs)
{
puts("");
}
printf("Case %d:\n",++cs);
result.push_back(1);
taken[1] = 1;
backtracking();
result.clear();
}
return 0;
}