#include <iostream>
#include <cmath>
using namespace std;
int n;
int licznik;
int ph[100]= {0};
void wypisz ()
{
licznik++;
cout << endl<< licznik << " : ";
for ( int i=1; i<=n; i++)
cout<<ph[i]<<" ";
}
void szukaj (int w)
{
if (w>n) wypisz();
else
{
for (int i=1; i<=n; i++)
{
if (ph[i]==0);
{
bool t=true;
for (int j=1; j<=n; j++)
if(ph[j]&&(abs(i-j)==w-ph[j]))
{
t=false;
break;
}
if(t)
{
ph[i]=w;
szukaj(w+1);
ph[i]=0;
}
}
}
}
}
int main ()
{
cin>>n;
licznik=0;
szukaj(1);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBuOwppbnQgbGljem5pazsKaW50IHBoWzEwMF09IHswfTsKdm9pZCB3eXBpc3ogKCkKewogICAgbGljem5paysrOwogICAgY291dCA8PCBlbmRsPDwgbGljem5payA8PCAiIDogIjsKICAgIGZvciAoIGludCBpPTE7IGk8PW47IGkrKykKICAgICAgICBjb3V0PDxwaFtpXTw8IiAgICI7CgoKfQoKdm9pZCBzenVrYWogKGludCB3KQp7CiAgICBpZiAodz5uKSB3eXBpc3ooKTsKICAgIGVsc2UKICAgIHsKICAgICAgICBmb3IgKGludCBpPTE7IGk8PW47IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGlmIChwaFtpXT09MCk7CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGJvb2wgdD10cnVlOwogICAgICAgICAgICAgICAgZm9yIChpbnQgaj0xOyBqPD1uOyBqKyspCiAgICAgICAgICAgICAgICAgICAgaWYocGhbal0mJihhYnMoaS1qKT09dy1waFtqXSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICB0PWZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZih0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHBoW2ldPXc7CiAgICAgICAgICAgICAgICAgICAgc3p1a2FqKHcrMSk7CiAgICAgICAgICAgICAgICAgICAgcGhbaV09MDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKaW50IG1haW4gKCkKewogICAgY2luPj5uOwogICAgbGljem5paz0wOwogICAgc3p1a2FqKDEpOwp9Cg==