#include<bits/stdc++.h>
using namespace std;
using ll=long long;
ll n,cot[15],c1[200],c2[200],kq[15];
void xuat()
{
for(int hang=1; hang<=n; hang++)
cout<<kq[hang]<<' ';
cout<<endl;
}
void xephau(int hang)
{
if(hang==n+1)
{
xuat();
return;
}
for(int i=1; i<=n; i++)
{
if(!cot[i] && !c1[i+hang])
{
if(i>=hang)
{
if(!c2[i-hang])
{
cot[i]=c1[i+hang]=c2[i-hang]=1;
kq[hang]=i;
xephau(hang+1);
cot[i]=c1[i+hang]=c2[i-hang]=0;
}
}
else if(!c2[abs(i-hang)+n])
{
cot[i]=c1[i+hang]=c2[abs(i-hang)+n]=1;
kq[hang]=i;
xephau(hang+1);
cot[i]=c1[i+hang]=c2[abs(i-hang)+n]=0;
}
}
}
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
freopen("queen.inp","r",stdin);
freopen("queen.out","w",stdout);
cin>>n;
xephau(1);
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdXNpbmcgbGw9bG9uZyBsb25nOwoKbGwgbixjb3RbMTVdLGMxWzIwMF0sYzJbMjAwXSxrcVsxNV07Cgp2b2lkIHh1YXQoKQp7CiAgICBmb3IoaW50IGhhbmc9MTsgaGFuZzw9bjsgaGFuZysrKQogICAgICAgIGNvdXQ8PGtxW2hhbmddPDwnICc7CiAgICBjb3V0PDxlbmRsOwp9CnZvaWQgeGVwaGF1KGludCBoYW5nKQp7CiAgICBpZihoYW5nPT1uKzEpCiAgICB7CiAgICAgICAgeHVhdCgpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGZvcihpbnQgaT0xOyBpPD1uOyBpKyspCiAgICB7CiAgICAgICAgaWYoIWNvdFtpXSAmJiAhYzFbaStoYW5nXSkKICAgICAgICB7CiAgICAgICAgICAgIGlmKGk+PWhhbmcpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKCFjMltpLWhhbmddKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGNvdFtpXT1jMVtpK2hhbmddPWMyW2ktaGFuZ109MTsKICAgICAgICAgICAgICAgICAgICBrcVtoYW5nXT1pOwogICAgICAgICAgICAgICAgICAgIHhlcGhhdShoYW5nKzEpOwogICAgICAgICAgICAgICAgICAgIGNvdFtpXT1jMVtpK2hhbmddPWMyW2ktaGFuZ109MDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmKCFjMlthYnMoaS1oYW5nKStuXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY290W2ldPWMxW2kraGFuZ109YzJbYWJzKGktaGFuZykrbl09MTsKICAgICAgICAgICAgICAgIGtxW2hhbmddPWk7CiAgICAgICAgICAgICAgICB4ZXBoYXUoaGFuZysxKTsKICAgICAgICAgICAgICAgIGNvdFtpXT1jMVtpK2hhbmddPWMyW2FicyhpLWhhbmcpK25dPTA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKICAgIGZyZW9wZW4oInF1ZWVuLmlucCIsInIiLHN0ZGluKTsKICAgIGZyZW9wZW4oInF1ZWVuLm91dCIsInciLHN0ZG91dCk7CiAgICBjaW4+Pm47CiAgICB4ZXBoYXUoMSk7Cn0K