// Распоређивање n дама на шаховској табли
#include <iostream>
#include <cmath>
#include <algorithm>

using namespace std;

int n, permutacija[15];

bool dame_se_napadaju(int i)
{
    for (int index = 0; index < i; index++)
    {
        if (abs(index - i) == abs(permutacija[index] - permutacija[i]))
            return true;
        if (permutacija[index] == permutacija[i])
            return true;
    }
    return false;
}

void n_dama(int i)
{
    // sve dame su postavljene
    if (i == n)
    {
        for (int index = 0; index < n; index++)
            cout << permutacija[index] << " ";
        cout << '\n';
    }
    else
    {
        for (int index = 0; index < n; index++)
        {
            permutacija[i] = index + 1;
            if (!dame_se_napadaju(i))
                n_dama(i + 1);
        }
    }
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin >> n;
    n_dama(0);
    return 0;
}