#include <iostream>
using namespace std;
int a;
const int N = 10010;
int x[N];
bool y[N];
void dfs(int n) {
if (n == a) {
for (int i = 0; i < a; i ++ ) {
cout << x[i] << " ";
}
cout << endl;
return ;
}
for (int i = 1; i <= a; i ++ ){
if(!y[i]){
y[i] = true;
x[n] = i;
dfs(n + 1);
y[i] = false;
}
}
}
int main(){
cin >> a;
dfs(0);
return 0;
}