import java.util.Arrays;

public class Main {

    public static void main(String[] args) {

        int mod = 5;

        for (int a00 = 0; a00 < mod; a00++) {
            for (int a01 = 0; a01 < mod; a01++) {
                for (int a10 = 0; a10 < mod; a10++) {
                    for (int a11 = 0; a11 < mod; a11++) {
                        int[][] a = { { a00, a01 }, { a10, a11 } };

                        int[][] b = pow(a, mod - 1, mod);

                        if (b[0][0] != 1 || b[0][1] != 0 || b[1][0] != 0 || b[1][1] != 1) {
                            System.out.println(Arrays.deepToString(b));

                        }

                    }
                }
            }
        }

    }

    static int[][] pow(int[][] a, int b, int mod) {
        int[][] c = { { 1, 0 }, { 0, 1 } };

        for (; b > 0; b /= 2) {
            if (b % 2 == 1) {
                c = mul(c, a, mod);
            }
            a = mul(a, a, mod);
        }

        return c;
    }

    static int[][] mul(int[][] a, int[][] b, int mod) {
        int[][] c = new int[2][2];

        c[0][0] = (a[0][0] * b[0][0] + a[0][1] * b[1][0]) % mod;
        c[0][1] = (a[0][0] * b[0][1] + a[0][1] * b[1][1]) % mod;
        c[1][0] = (a[1][0] * b[0][0] + a[1][1] * b[1][0]) % mod;
        c[1][1] = (a[1][0] * b[0][1] + a[1][1] * b[1][1]) % mod;

        return c;
    }

}