#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;
}