#include <bits/stdc++.h>
#define ll long long
#define nono \
ios::sync_with_stdio(0); \
cin.tie(0); \
cout.tie(0);
using namespace std;
set<int> primes = {3, 5, 7, 11, 13, 17, 19, 23, 29, 31};
void solve(vector<int> ring, int n)
{
if (ring.size() == n)
{
if (primes.find(ring.back() + ring.at(0)) == primes.end())
return;
cout << 1 ;
for (int i = 1; i < n; i++)
cout << " " << ring.at(i);
cout << '\n';
return;
}
for (int circle = 2; circle < n + 1; ++circle)
{
bool flag = 1;
for (auto a : ring)
{
if (a == circle)
flag = 0;
}
if (primes.find(ring.back() + circle) == primes.end())
flag = 0;
if (flag)
{
ring.push_back(circle);
solve(ring, n);
ring.pop_back();
}
}
}
int main()
{
// nono;
int i = 1, n;
while (cin >> n && n != 0)
{
if(i>1) cout << "\n";
cout<<"Case "<<i++<<":\n";
vector <int > v;
v.push_back(1);
solve(v ,n);
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbm9ubyAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsgXAogICAgICAgIGNpbi50aWUoMCk7ICAgICAgICAgICAgICBcCiAgICAgICAgY291dC50aWUoMCk7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnNldDxpbnQ+IHByaW1lcyA9IHszLCA1LCA3LCAxMSwgMTMsIDE3LCAxOSwgMjMsIDI5LCAzMX07CnZvaWQgc29sdmUodmVjdG9yPGludD4gcmluZywgaW50IG4pCnsKICAgICAgICBpZiAocmluZy5zaXplKCkgPT0gbikKICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiAocHJpbWVzLmZpbmQocmluZy5iYWNrKCkgKyByaW5nLmF0KDApKSA9PSBwcmltZXMuZW5kKCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgIGNvdXQgPDwgMSA7CiAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8IG47IGkrKykKICAgICAgICAgICAgICAgICAgICAgICAgY291dCA8PCAiICIgPDwgcmluZy5hdChpKTsKICAgICAgICAgICAgICAgIGNvdXQgPDwgJ1xuJzsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgZm9yIChpbnQgY2lyY2xlID0gMjsgY2lyY2xlIDwgbiArIDE7ICsrY2lyY2xlKQogICAgICAgIHsKICAgICAgICAgICAgICAgIGJvb2wgZmxhZyA9IDE7CiAgICAgICAgICAgICAgICBmb3IgKGF1dG8gYSA6IHJpbmcpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhID09IGNpcmNsZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChwcmltZXMuZmluZChyaW5nLmJhY2soKSArIGNpcmNsZSkgPT0gcHJpbWVzLmVuZCgpKQogICAgICAgICAgICAgICAgICAgICAgICBmbGFnID0gMDsKICAgICAgICAgICAgICAgIGlmIChmbGFnKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICByaW5nLnB1c2hfYmFjayhjaXJjbGUpOwogICAgICAgICAgICAgICAgICAgICAgICBzb2x2ZShyaW5nLCBuKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmluZy5wb3BfYmFjaygpOwogICAgICAgICAgICAgICAgfQogICAgICAgIH0KfQppbnQgbWFpbigpCnsKICAgICAgIC8vIG5vbm87CiAgICAgICAgaW50IGkgPSAxLCBuOwogICAgICAgIHdoaWxlIChjaW4gPj4gbiAmJiBuICE9IDApCiAgICAgICAgewogICAgICAgICAgICBpZihpPjEpIGNvdXQgPDwgIlxuIjsKICAgICAgICAgICAgY291dDw8IkNhc2UgIjw8aSsrPDwiOlxuIjsKICAgICAgICAgICAgdmVjdG9yIDxpbnQgPiB2OwogICAgICAgICAgICB2LnB1c2hfYmFjaygxKTsKICAgICAgICAgICAgc29sdmUodiAsbik7CgogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIDA7Cn0K