#include <bits/stdc++.h>
int dx[] = {+0, +0, -1, +1, +1, +1, -1, -1};
int dy[] = {+1, -1, +0, +0, +1, -1, +1, -1};
using namespace std;
int n, mod = 1000000000 + 7;
long long res;
bool f1[20], f2[20];
int r[8] = {1, 18, 1800, 670320, 734832000, 890786230, 695720788, 150347555};
void attempt(int i) {
  if (i == n + 1) {
    res++;
    return;
  }
  for (int j = int(1); j <= int(n); j++)
    if (f1[j]) {
      int k = (n - i + 1 + j - 2) % n + 1;
      if (f2[k]) {
        f1[j] = f2[k] = false;
        attempt(i + 1);
        f1[j] = f2[k] = true;
      }
    }
}
int main() {
  cin >> n;
  if (n % 2 == 0)
    cout << 0 << endl;
  else
    cout << r[n / 2] << endl;
  return 0;
}
