#include <iostream>
using namespace std;
const int N = 20;
int n;
int path[N];
bool s[N];
void dfs(int u){
if(u>n){
for (int i=1;i<=n;i++) {
cout << path[i]<<' ';
} cout<<"\n";
return ;
}
for (int i=1;i<=n;i++) {
if (!s[i]) {
path[u] = i;
s[i] = true;
dfs(u + 1);
s[i] = false;
}
}
}
int main() {
cin >> n;
dfs(1);
return 0;
}