import java.math.BigInteger;

public class Euler916 {

    static final long MOD = 1000000007L;

    static long modPow(long a, long e) {
        long r = 1;
        long x = a % MOD;
        long p = e;
        while (p > 0) {
            if ((p & 1L) != 0) {
                r = (r * x) % MOD;
            }
            x = (x * x) % MOD;
            p >>= 1L;
        }
        return r;
    }

    static long modInv(long a) {
        return modPow((a % MOD + MOD) % MOD, MOD - 2);
    }

    static long PFormula(long n) {
        long twoN = 2 * n;

        long factN = 1;
        long fact2N = 1;
        for (long i = 1; i <= twoN; ++i) {
            fact2N = (fact2N * (i % MOD)) % MOD;
            if (i == n) {
                factN = fact2N;
            }
        }

        long invFactN = modInv(factN);
        long c2nN = (fact2N * invFactN % MOD * invFactN) % MOD;

        long invN1 = modInv(n + 1);
        long invN2 = modInv(n + 2);

        long f1 = (c2nN * invN1) % MOD;
        long c2nN1 = (c2nN * (n % MOD) % MOD * invN1) % MOD;
        long f2 = (3 * c2nN1 % MOD * invN2) % MOD;

        long ans = (f1 * f1) % MOD;
        ans = (ans + f2 * f2) % MOD;
        return ans;
    }

    public static String solve() {
        return Long.toString(PFormula(100000000));
    }

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