public class Heap {
    public static int[] permutaatio = {1, 2, 3, 4};

    public static void vaihda(int a, int b) {
        int v = permutaatio[a];
        permutaatio[a] = permutaatio[b];
        permutaatio[b] = v;
    }

    public static void tulosta() {
        for (int i = 0; i < permutaatio.length; i++) {
            System.out.print(permutaatio[i] + " ");
        }
        System.out.println();
    }

    public static void muodosta(int n) {
        if (n == 1) {
            tulosta();
        } else {
            for (int i = 0; i < n; i++) {
                muodosta(n-1);
                if (n%2 == 1) {
                    vaihda(0, n-1);
                } else {
                    vaihda(i, n-1);
                }
            }
        }
    }

    public static void main(String[] args) {
        muodosta(permutaatio.length);
    }
}
