求悬
#include<bits/stdc++.h>
using namespace std;
int n;
int l[20];
long long cnt=0;
bool is(int x, int y){
for(int i=0;i<x;i++)
if((l[i]==y) || abs(l[i]-y)==abs(x-i)) return false;
return true;
}
void dfs(int num){
if(num==n){
if(cnt<3){
for(int i=0;i<n;i++) cout<<l[i]+1<<" ";
cout<<endl;
}
cnt++;
return ;
}else{
for(int i=0;i<n;i++){
if(is(num, i)){
l[num]=i;
dfs(num+1);
}
}
}
}
int main(){
cin>>n;
dfs(0);
cout<<cnt;
return 0;
}