#include <iostream>
using namespace std;
int n;
int v[15],sol=0;bool col[20],dgp[30],dgs[30];
void Back(int k){ for (int i = 1; i<=n; i++) { if (col[i] == 0 && dgp[n+i-k] == 0 && dgs[i+k-1] == 0) { v[k] = i; col[i] = dgp[n+i-k] = dgs[i+k-1] = 1; if (k == n) sol++; else Back(k+1); col[i] = dgp[n+i-k] = dgs[i+k-1] = 0; } }}
int main(){ cin >> n; Back(1); cout << sol;}