#include <bits/stdc++.h>
using namespace std;
int mark[15][15],ans[15],n,sum,num;
void dfs(int x){
if(x>n){
sum++;
if(sum<=3){
for(int i=1;i<=n;i++){
cout<<ans[i]<<' ';
}
cout<<'\n';
}
return ;
}
for(int i=1;i<=n;i++){
if(mark[x][i]==0){
ans[x]=i;
for(int j=x;j<=n;j++){
mark[j][i]++;
}
for(int j=x+1;j<=n;j++){
mark[j][i-(j-x)]++;
}
for(int j=x+1;j<=n;j++){
mark[j][i+(j-x)]++;
}
dfs(x+1);
for(int j=x;j<=n;j++){
mark[j][i]--;
}
for(int j=x+1;j<=n;j++){
mark[j][i-(j-x)]--;
}
for(int j=x+1;j<=n;j++){
mark[j][i+(j-x)]--;
}
}
}
}
int main(){
cin>>n;
dfs(1);
cout<<sum;
return 0;
}