#include <bits/stdc++.h>
using namespace std;
void dv(vector<long long int> g1) {
  for (auto i = g1.begin(); i != g1.end(); ++i) {
    cout << *i << " ";
  }
}
int invert(int a) {
  if (a == 0) {
    return 1;
  } else if (a == 1) {
    return 0;
  } else {
    return -1;
  }
}
long long int fact(long long int n) {
  long long int res = 1;
  for (long long int i = 2; i <= n; i++) res = res * i;
  return res;
}
long long int nCr(long long int n, long long int r) {
  return fact(n) / (fact(r) * fact(n - r));
}
void swap(int &x, int &y) {
  int temp;
  temp = x;
  x = y;
  y = temp;
  return;
}
int main() {
  long long int n;
  cin >> n;
  if (n == 4 || n == 2) {
    if (n == 4) {
      cout << 3 << endl;
    } else {
      cout << 1 << endl;
    }
  } else {
    cout << nCr(n, n / 2) * (fact(n / 2 - 1) * (fact(n / 2 - 1)) / 2) << endl;
  }
}
