#include<bits/stdc++.h>
using namespace std;
char q[100][100];
int n,x,y[10];
//n是几位皇后,x是为方便标记皇后攻击范围;
//y用于储存皇后的列
void queen(int b)
//以第一行为起始
{
if(b>n)
{
for(int c=1;c<=n;c++)cout<<y[c]<<" ";
//输出皇后的列;
cout<<endl;
return ;
}
//当找到n个合适的位置时输出
for(int c=1;c<=n;c++)
{
if(q[b][c]!='4')
//为皇后找到安全的列;
{
y[b]=c;
//记住皇后所在的列
q[b][c]='4';
for(x=0;x<n;x++)
{
q[b][c+x]='4';
q[b+x][c]='4';
q[b+x][c+x]='4';
if(c-x>=0){q[b][c-x]='4';q[b+x][c-x]='4';}
if(b-x>=0){q[b-x][c]='4';q[b-x][c+x]='4';}
if(b-x>=0&&c-x>=0)q[b-x][c-x]='4';
}
//标记皇后的攻击范围;
queen(b+1);
//寻找下一位皇后的位置;
}
}
}
int main()
{
cin>>n;
queen(1);
return 0;
}