#include <iostream>
using namespace std;
/*
偶数:n/2;
奇数:n-n/2
奇数排列*偶数排列个数
如果是奇数=偶数,则先排奇数或先排偶数都可以(后面*2);
而如果奇数=偶数+1,则只能先排奇数,两奇数中间插偶数。
*/
int main() {
    long long a = 0, b = 0, count = 1;
    long long n;
    while (cin >> n) {
        b = n / 2;
        a = n - b;
        if (n == 2) {
            cout << 2;
            return 0;
        }
        for (int i = a; i > 0; i--) {
            count *= i;
            count %= (1000000000 + 7);
        }
        for (int j = b; j > 0; j--) {
            count *= j;
            count %= (1000000000 + 7);
        }
        if(n%2==0)count=count*2%(1000000000 + 7);
        cout << count;
    }
}