範例程式碼 uva13204

//uva13204
#include <iostream>
#include <vector>
#define MOD 1000000007
using namespace std;

int main() {
    vector<long long> factorial(1000001, 1);
    for (int i = 1; i <= 1000000; ++i) {
        factorial[i] = (factorial[i - 1] * i) % MOD;
    }
    
    int n;
    while (cin >> n) {
        long long res = (factorial[n / 2] * factorial[n / 2]) % MOD;
        if (n % 2) {
            res = (res * n) % MOD;
        }
        cout << res << endl;
    }
    
    return 0;
}