#include <iostream>
using namespace std;
int addr[101], n, ans = 0;
bool valid(int x, int y);
void queens(int x);
int main()
{
memset(addr, 0, sizeof addr);
cin >> n;
queens(1);
cout << "total=" << ans << endl;
return 0;
}
bool valid(int x, int y)
{ int dbg = 0;
for(int i = 1; i < x; i++)
if((addr[i] - (x - i) == y)
||(addr[i] + (x - i) == y)
||(addr[i] == y))
return false;
return true;
}
void queens(int x)
{
if(x > n)
ans++;
else
for(int i = 1; i <= n; i++)
if(valid(x, i))
{
addr[x] = i;
queens(x + 1);
addr[x] = 0;
}
}