#include <bits/stdc++.h>
using namespace std;
const int64_t mod = 1e9 + 7;
vector<int64_t> fact;
void init() {
  fact.resize(19);
  fact[0] = 1;
  for (int64_t i = 1; i < 19; ++i) {
    fact[i] = fact[i - 1] * i;
    fact[i] %= mod;
  }
}
vector<int64_t> magic = {1, 1, 3, 19, 225, 3441, 79259, 2424195};
void solve(int cnum) {
  int64_t n;
  cin >> n;
  if (n % 2 == 0) {
    cout << 0 << "\n";
    return;
  }
  int64_t ans = n * magic[n / 2];
  ans %= mod;
  ans *= fact[n];
  ans %= mod;
  cout << ans << "\n";
  return;
  vector<int> arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
  vector<int> brr = arr;
  vector<int> fin = {4, 3, 2, 1};
  bool con = true;
  int count = 0;
  do {
    if (brr[0] == 2) {
      break;
    }
    map<int, int> seen;
    bool can = true;
    for (int i = 0; i < 13; ++i) {
      int tmp = arr[i] - 1 + brr[i] - 1;
      tmp %= 13;
      tmp += 1;
      if (seen[tmp]) {
        can = false;
        break;
      }
      seen[tmp] = 1;
    }
    if (can) {
      count++;
    }
  } while (next_permutation(brr.begin(), brr.end()));
  cout << count << "\n";
}
int main() {
  int t;
  int cnum = 1;
  init();
  for (t = 1; t--; solve(cnum), cnum++)
    ;
  return 0;
}
