public class Euler570 {

    static long gcd(long a, long b) {
        while (b != 0) {
            long t = a % b;
            a = b;
            b = t;
        }
        return a;
    }

    static long[] pow4pow3Mod(long exp, long mod) {
        long r4 = 1 % mod, r3 = 1 % mod;
        long b4 = 4 % mod, b3 = 3 % mod;
        long e = exp;
        while (e > 0) {
            if ((e & 1) != 0) {
                r4 = (r4 * b4) % mod;
                r3 = (r3 * b3) % mod;
            }
            b4 = (b4 * b4) % mod;
            b3 = (b3 * b3) % mod;
            e >>= 1;
        }
        return new long[] { r4, r3 };
    }

    static long G(int n) {
        long exp = n - 2;
        long m = 7L * n + 3L;
        long[] p4p3 = pow4pow3Mod(exp, m);

        long v = (2L * p4p3[0]) % m;
        v = (v + m - p4p3[1]) % m;

        long g = gcd(m, v);
        return 6L * g;
    }

    public static String solve() {
        int N = 10000000;
        long total = 0;
        for (int n = 3; n <= N; n++) {
            total += G(n);
        }
        return String.valueOf(total);
    }

    public static void main(String[] args) {
        System.out.println(solve());
    }
}
