import java.util.Scanner;
public class Main{
static int n,flag;
static int[] a=new int[14];
static int[][] b=new int[14][14];
private static void dfs(int i) {
if(i>n) {
if(flag<3) {
int x=1;
for(x=1;x<=n;x++) {
System.out.print(a[x]+" ");
}
System.out.println();
}
flag++;
return;
}
else {
for(int j=1;j<=n;j++) {
if(b[i][j]==0) {
a[i]=j;
biaoji(i,j);
dfs(i+1);
a[i]=0;
reset(i,j);
}
}
}
}
private static void biaoji(int x,int y) {//标记
int p=x+1 ,q=y+1,k=y-1;
while(p<=n&&q<=n) {
b[p][q]=1;
p++;q++;
}
p=x+1;
while(p<=n) {
b[p][y]=1;
p++;
}
p=x+1;
while(p<=n&&k>0) {
b[p][k]=1;
p++;k--;
}
}
private static void reset(int x,int y) {//清除标记
int p=x+1,q=y+1,k=y-1;
while(p<=n&&q<=n) {
b[p][q]=0;
p++;q++;
}
p=x+1;
while(p<=n) {
b[p][y]=0;
p++;
}
p=x+1;
while(p<=n&&k>0) {
b[p][k]=0;
p++;k--;
}
}
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
n=cin.nextInt();
dfs(1);
System.out.println(flag);
}
}