#include<bits/stdc++.h>
using namespace std;
int n;
vector<int> arr;
vector<int> aaa;
vector<bool> v;
int num = 0;
void dfs(int temp){
if (temp == n){
arr.push_back(num);
return ;
}
for (int i = 0; i < n; i ++){
if (!v[aaa[i]]){
v[aaa[i]] = true;
num = num * 10 + aaa[i];
dfs(temp + 1);
num = (num - aaa[i]) / 10;
v[aaa[i]] = false;
}
}
}
int main(){
cin >> n;
v.resize(n + 1, false);
for (int i = 1; i <= n; i ++){
aaa.push_back(i);
}
dfs(0);
for (auto x : arr) cout << x << endl;
return 0;
}