#include<bits/stdc++.h>
using namespace std;
int ans,j,n,a[15],b[15],c[30],d[30];//a记录 / b列/ c左对角+15 差 / d右对角 和
void dfs(int x)
{
int i;
if(x==n)
{
ans++;
if(ans<=3)
for(i=1;i<=n;i++) cout<<a[i]<<" ";
cout<<endl;
return;
}
//else //
for(i=1;i<=n;i++)
{
if(b[i]==0&&c[x-i+15]==0&&d[x+i]==0)
{
a[x]=i;
b[i]=1;
c[x-i+15]==1;
d[x+i]==1;
dfs(x+1);
b[i]=0;
c[x-i+15]==0;
d[x+i]==0;
}
}
}
int main()
{
cin>>n;
dfs(0);
cout<<ans;
return 0;
}