class PermutationGroup {

    public static PermutationGroup makeSymN(int size) {
        List<Permutation> generators = new ArrayList<Permutation>();

        // p1 is (0, 1)
        int[] p1 = new int[size];
        p1[0] = 1;
        p1[1] = 0;
        for (int i = 2; i < size; i++) {
            p1[i] = i;
        }

        // p2 is (1, 2, ...., n, 0)
        int[] p2 = new int[size];
        p2[0] = 1;
        for (int i = 1; i < size - 1; i++) {
            p2[i] = i + 1;
        }
        p2[size - 1] = 0;

        generators.add(new Permutation(p1));
        generators.add(new Permutation(p2));

        return new PermutationGroup(size, generators);
    }

    public  PermutationGroup(int size);
    public  PermutationGroup(Permutation base);
    public  PermutationGroup(int size, List<Permutation> generators);

}