#include <bits/stdc++.h>
using namespace std;
int n;
int c[18][18];
int pre[17] = {0,    1, 0,     3, 0,       15, 0,        133, 0,
               2025, 0, 37851, 0, 1030367, 0,  36362925, 0};
long long solve(int k, int maskV, int maskH) {
  if (k == n + 1) return 1;
  long long res = 0;
  for (int i = 1; (i) <= (n); i++) {
    if ((maskV & (1 << (i - 1))) == 0) {
      for (int j = 1; (j) <= (n); j++) {
        if ((maskH & (1 << (j - 1))) == 0) {
          if (c[i][j] == k) {
            res += solve(k + 1, (maskV | (1 << (i - 1))),
                         (maskH | (1 << (j - 1))));
            res %= 1000000007L;
          }
        }
      }
    }
  }
  return res % 1000000007L;
}
int main() {
  cin >> n;
  for (int i = 1; (i) <= (n); i++)
    for (int j = 1; (j) <= (n); j++) c[i][j] = ((i + j - 2) % n) + 1;
  if (n % 2 == 0) {
    cout << "0" << endl;
    return 0;
  }
  long long res = pre[n];
  for (int i = 1; (i) <= (n); i++) {
    res *= i;
    res %= 1000000007L;
  }
  cout << res << endl;
  return 0;
}
