#include <cstdio>
#include <cstring>
using namespace std;
bool notPrime[23], used[23];
int n, T;
int a[23];
void dfs(int id)
{
    if (id == n - 1)
        for (int i = 0; i < n && !notPrime[a[0] + a[n - 1]]; i++)
            printf("%d%c", a[i], " \n"[i == n - 1]);
    else
        for (int i = 1; i <= n; i++)
            if (!used[i] && !notPrime[a[id] + i])
            {
                used[i] = true;
                a[id + 1] = i;
                dfs(id + 1);
                a[id + 1] = 0;
                used[i] = false;
            }
}
int main()
{
    notPrime[0] = notPrime[1] = true;
    for (int i = 0; i < 23; i++)
        if (!notPrime[i])
            for (int j = i * i; j < 23; j += i)
                notPrime[j] = true;
    while (~scanf("%d", &n))
    {
        memset(used, 0, sizeof(used));
        memset(a, 0, sizeof(a));
        used[a[0] = 1] = true;
        printf("Case %d:\n", ++T);
        dfs(0);
        putchar('\n');
    }
    return 0;
}