#include <bits/stdc++.h>
using namespace std;
int n;
int a[15];
bool d1[15],d2[15],d3[15];
long long ans = 0;
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(d1[i] == 1&&d2[x+i-1] == 1&&d3[x-i+n]){
a[x] = i;
d1[i] = 0;
d2[x+i-1] = 0;
d3[x-i+n] = 0;
dfs(x+1);
d1[i] = 1;
d2[x+i-1] = 1;
d3[x-i+n] = 1;
}
}
}
int main(){
memset(d1,1,sizeof(d1));
memset(d2,1,sizeof(d2));
memset(d3,1,sizeof(d3));
cin>>n;
dfs(1);
cout<<ans;
return 0;
}