import java.util.Scanner;


public class Main {
    static int cnt;

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            int n = in.nextInt();
            if (n == 1) {
                System.out.println("Case " + ++cnt + ":\n");
                continue;
            }
            init(n);
            calc(n);
        }
    }

    private static void init(int n) {
        used = new boolean[n];
        N = new int[n];
    }

    private static void calc(int n) {
        System.out.println("Case " + ++cnt + ":");
        solve(0, n);
        System.out.println();
    }

    static boolean[] used;
    static int[] N;

    private static void solve(int pos, int n) {
        if (pos == n) {
            if (valid(N.length - 1)) {
                print();
            }
            return;
        }

        if (N[0] > 1) return;

        for (int i = 0; i < n; i++) {
            if (!used[i]) {
                N[pos] = i + 1;
                if (valid2(pos)) {
                    used[i] = true;
                    solve(pos + 1, n);
                    used[i] = false;
                }
            }
        }
    }

    private static void print() {
        for (int i = 0; i < N.length; i++) {
            if (i == 0) {
                System.out.print(N[0]);
                continue;
            }
            System.out.print(" " + N[i]);
        }
        System.out.println();
    }

    private static boolean valid(int len) {
        boolean flag = true;
        for (int i = 0; i < len; i++) {
            if (!isPrime(N[i] + N[i + 1])) {
                flag = false;
                break;
            }
        }


        return isPrime(N[N.length - 1] + N[0]) ? flag : false;
    }

    private static boolean valid2(int len) {
        boolean flag = true;
        for (int i = 0; i < len; i++) {
            if (!isPrime(N[i] + N[i + 1])) {
                flag = false;
                break;
            }
        }
        return flag;
    }

    private static boolean isPrime(int n) {
        boolean flag = true;
        for (int i = 2; i * i <= n; i++) {
            if (n % i == 0) {
                flag = false;
                break;
            }
        }

        return flag;
    }
}

/**************************************************************
	Problem: 2128
	User: admin
	Language: Java
	Result: Accepted
	Time:1107 ms
	Memory:46600 kb
****************************************************************/