#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 10;
int n;
int path [N];
int used [N];
void dfs(int u){
if(u > n){
for (int i=1; i<=n;i++)
printf("%d ",path[i]);
puts("");
return;
}
for(int i=1;i<=n;i++){
if(!used[i]){
path[u] = i;
used[i] = 1;
dfs(u+1);
path[u] = 0;
used[i] =0;
}
}
}
int main(){
scanf("%d",&n);
dfs(1);
return 0;
}