#include<bits/stdc++.h>
using namespace std;
#define N 1001
int n,ans=0,b1[N],b2[N],b3[0], a[N];;
void dfs(int x){
if(x==n){
ans++;
if(ans<=3)
for(int i = 1;i<=n;i++)cout<<a[i]<<" ";
cout<<endl;
return;
}
for(int i = 1;i<=n;i++){
if(b1[i]==0&&b2[i+x]==0&&b3[i-x+n]==0){
a[x] = i;
b1[i]=1,b2[i+x]=1,b3[i-x+n]=1;
dfs(x+1);
b1[i]=0,b2[i+x]=0,b3[i-x+n]=0;
}
}
}
int main(){
cin>>n;
dfs(1);
cout<<ans;
return 0;
}