#include<bits/stdc++.h>
using namespace std;
int sum,n,h[200],l[200],zd[200],yd[200];
int print(){
if(sum<=2){
for(int j=1;j<=n;j++) cout<<h[j]<<" ";
cout<<endl;
}
sum++;
}
void dfs(int i){
if(i>n){
print();
return;
}else{
for(int j=1;j<=n;j++){
if(l[j]==0&&yd[i+j]==0&&zd[i-j+n]==0){
h[i]=j;
l[j]=1;
yd[i+j]=1;
zd[i-j+n]=1;
dfs(i+1);
l[j]=0;
yd[i+j]=0;
zd[i-j+n]=0;
}
}
}
}
int main(){
cin>>n;
dfs(1);
cout<<sum;
}
结果