#include <stdio.h>
#include <iostream>
#include <cmath>
using namespace std;
#define MAXINT 100
int N;
int a[MAXINT];
bool place(int row,int col){
for(int i=1;i<row;i++){
if(a[i]==col||(row-i==abs(col-a[i]))){
return false;
}
}
return true;
}
void queen(int i){
if(i==N+1){
for(int k=1;k<=N;k++){
printf("%d ",a[k]);
}
printf("\n");
return;
}
for(int j=1;j<=N;j++){
if(place(i,j)){
a[i]=j;
queen(i+1);
}
}
}
int main(){
scanf("%d",&N);
queen(1);
return 0;
}