#include <bits/stdc++.h>
using namespace std;
int n, a[20], b[20], viz[20], viz2[20];
long long fact[20],
    ans[20] = {0, 1,         0, 18,        0, 1800,      0, 670320,
               0, 734832000, 0, 890786230, 0, 695720788, 0, 150347555};
void dfs(int x) {
  if (x == n + 1) {
    ans[n]++;
  } else {
    for (int i = 1; i <= n; i++)
      if ((!viz[i]) && (!viz2[(x + i - 2) % n + 1])) {
        viz[i] = 1;
        viz2[(x + i - 2) % n + 1] = 1;
        dfs(x + 1);
        viz[i] = 0;
        viz2[(x + i - 2) % n + 1] = 0;
      }
  }
}
int main() {
  int i;
  cin >> n;
  cout << ans[n];
  return 0;
}
