#include<stdio.h>
int cnt=0;
int n;
int left[25]={0},right[26]={0};
int a[14];
int book[14]={0};
void dfs(int step){
if(step==n+1){
if(cnt<3){
for(int i=1;i<=n;i++)
printf("%d ",a[i]);
printf("\n");
}
cnt++;
return ;
}
for(int i=1;i<=n;i++){
if(!left[step+i-1]&&!right[n-step+i]&&!book[i]){
a[step]=i;
left[step+i-1]=1; right[n-step+i]=1; book[i]=1;
dfs(step+1);
left[step+i-1]=0; right[n-step+i]=0; book[i]=0;
}
}
return;
}
int main()
{
scanf("%d",&n);
dfs(1);
printf("%d",cnt);
return 0;
}