#include<iostream>
#include<iostream>
using namespace std;
int a[80],b[80],ans,c[80],i,n,j;
void f(int i,int n){
if(i>n){
ans++;
return;
}
for(int j=1;j<=n;j++){
if(!a[j]&&!b[i+j]&&!c[i-j+8]){
a[j]=true;b[i+j]=true;c[i-j+8]=true;
f(i+1,n);
a[j]=false;b[i+j]=false;c[i-j+8]=false;
}
}
}
int main(){
cin>>n;
f(1,n);
cout<<ans;
}
#include<iostream>
using namespace std;
int a[80],b[80],ans,c[80],i,n,j;
void f(int i,int n){
if(i>n){
ans++;
return;
}
for(int j=1;j<=n;j++){
if(!a[j]&&!b[i+j]&&!c[i-j+8]){
a[j]=true;b[i+j]=true;c[i-j+8]=true;
f(i+1,n);
a[j]=false;b[i+j]=false;c[i-j+8]=false;
}
}
}
int main(){
cin>>n;
f(1,n);
cout<<ans;
}