#include<bits/stdc++.h>
using namespace std;
bool vis[100001];
int a[100001];
int n;
bool z(int x)
{
if(x==1)
return 0;
for(int i=2;i<=sqrt(x);i++)
{
if(x%i==0)
{
return 0;
}
}
return 1;
}
void output()
{
for(int i=1;i<=n;i++)
{
cout<<a[i];
if(i<n)
{
cout<<" ";
}
}
cout<<endl;
}
void dfs(int k)
{
if(k>n)
{
return;
}
for(int i=1;i<=n;i++)
{
if(vis[i]==1)
{
continue;
}
else if(k==1)
{
a[k]=i;
vis[i]=1;
dfs(k+1);
vis[i]=0;
}
else if(k==n)
{
if(z(a[1]+i)==1&&z(a[k-1]+i)==1)
{
vis[i]=1;
a[k]=i;
if(a[1]==1)
output();
dfs(k+1);
vis[i]=0;
}
}
else
{
if(z(a[k-1]+i)==1)
{
vis[i]=1;
a[k]=i;
dfs(k+1);
vis[i]=0;
}
}
}
}
int main()
{int l=1;
while(cin>>n)
{
cout<<"Case "<<l<<":"<<endl;
l++;
dfs(1);
if(l>1)
{
cout<<endl;
}
memset(vis,0,sizeof(vis));
memset(a,0,sizeof(a));
}
return 0;
}