#include<iostream>
using namespace std;
int a[15],k,c=0;
long long ans;
bool q(int n){
for(int i=1;i<n;i++)
if(a[i]==a[n]||i-a[i]==n-a[n]||i+a[i]==n+a[n])
return 0;
return 1;
}
void dfs(int n){
if(n==k+1){
ans++;
for(int i=1;i<=k;i++){
if(c>=3){
return;
}
printf("%d ",a[i]);
}
c++;
printf("\n");
}
else{
for(int i=1;i<=k;i++){
a[n]=i;
if(q(n)){
dfs(n+1);
}
}
}
}
int main(){
cin>>k;
dfs(1);
cout<<ans;
return 0;
}