#include <bits/stdc++.h>
using namespace std;
int n,ans;
bool col[12];
bool cheo1[24];
bool cheo2[24];
void quaylui(int hang){
if(hang > n){
ans++;
return;
}
for(int cot = 1; cot <= n; cot++){
if(!col[cot] && !cheo1[hang + cot] && !cheo2[hang - cot + n]){
col[cot]= true;
cheo1[hang + cot] = true;
cheo2[hang - cot + n] = true;
quaylui(hang + 1);
col[cot]= false;
cheo1[hang + cot] = false;
cheo2[hang - cot + n] = false;
}
}
}
int main(){
cin >> n;
quaylui(1);
cout << ans;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbixhbnM7CmJvb2wgY29sWzEyXTsKYm9vbCBjaGVvMVsyNF07CmJvb2wgY2hlbzJbMjRdOwoKdm9pZCBxdWF5bHVpKGludCBoYW5nKXsKICAgIGlmKGhhbmcgPiBuKXsKICAgICAgICBhbnMrKzsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBmb3IoaW50IGNvdCA9IDE7IGNvdCA8PSBuOyBjb3QrKyl7CiAgICAgICAgaWYoIWNvbFtjb3RdICYmICFjaGVvMVtoYW5nICsgY290XSAmJiAhY2hlbzJbaGFuZyAtIGNvdCArIG5dKXsKICAgICAgICAgICAgY29sW2NvdF09IHRydWU7CiAgICAgICAgICAgIGNoZW8xW2hhbmcgKyBjb3RdID0gdHJ1ZTsKICAgICAgICAgICAgY2hlbzJbaGFuZyAtIGNvdCArIG5dID0gdHJ1ZTsKCiAgICAgICAgICAgIHF1YXlsdWkoaGFuZyArIDEpOwoKICAgICAgICAgICAgY29sW2NvdF09IGZhbHNlOwogICAgICAgICAgICBjaGVvMVtoYW5nICsgY290XSA9IGZhbHNlOwogICAgICAgICAgICBjaGVvMltoYW5nIC0gY290ICsgbl0gPSBmYWxzZTsKICAgICAgICB9CiAgICB9Cn0KCmludCBtYWluKCl7CiAgICBjaW4gPj4gbjsKICAgIHF1YXlsdWkoMSk7CiAgICBjb3V0IDw8IGFuczsKfQo=