#include<bits/stdc++.h>
using namespace std;
int v1[10],v2[20],v3[20],n;
int ans[10];
int a[100][10];
int ind=0;
void dfs(int k)
{
if(k==n+1)
{
++ind;
for(int i=1;i<=n;i++)
{
a[ind][i]=ans[i];
}
return;
}
for(int i=1;i<=n;i++)
{
if(!v1[i]&&!v2[k+i]&&!v3[k-i+7])
{
v1[i]=1;
v2[k+i]=1;
v3[k-i+7]=1;
ans[k]=i;
dfs(k+1);
v1[i]=0;
v2[k+i]=0;
v3[k-i+7]=0;
}
}
}
int main()
{
cin>>n;
dfs(1);
for(int i=1;i<=3;i++)
{
for(int j=1;j<=n;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
cout<<ind<<endl;
return 0;
}