#include <iostream>
#include <vector>
using namespace std;
int N;
vector<int> box;
vector<int> bag;
vector<bool> picked(N+1); //有無選過
void PickBall(int bag_pos){
if(bag_pos==N){
for(int i=0;i<N;i++)
cout<<bag[i];
cout<<'\n';
return;
}
for(int i=0;i<N;i++){
if(picked[box[i]-1]==false){//無
bag.push_back( box[i] );//選
picked[box[i]-1]=true;//變有
PickBall(bag_pos+1);
bag.pop_back();
picked[box[i]-1]=false;//恢復
}
}
}
int main() {
ios::sync_with_stdio(0),
cin.tie(0), cout.tie(0);
while(cin>>N){
box.clear();
bag.clear();
for(int i=N;i>0;i--){
box.push_back(i);
}
PickBall(0);
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCmludCBOOwp2ZWN0b3I8aW50PiBib3g7CnZlY3RvcjxpbnQ+IGJhZzsKdmVjdG9yPGJvb2w+IHBpY2tlZChOKzEpOyAvL+acieeEoemBuOmBjgoKdm9pZCBQaWNrQmFsbChpbnQgYmFnX3Bvcyl7IAoJaWYoYmFnX3Bvcz09Til7CgkJZm9yKGludCBpPTA7aTxOO2krKykKCQkJY291dDw8YmFnW2ldOwoJCWNvdXQ8PCdcbic7CgkJcmV0dXJuOwoJfQoJZm9yKGludCBpPTA7aTxOO2krKyl7IAoJCWlmKHBpY2tlZFtib3hbaV0tMV09PWZhbHNlKXsvL+eEoQoJCQliYWcucHVzaF9iYWNrKCBib3hbaV0gKTsvL+mBuAoJCQlwaWNrZWRbYm94W2ldLTFdPXRydWU7Ly/orormnIkKCQkJUGlja0JhbGwoYmFnX3BvcysxKTsKCQkJYmFnLnBvcF9iYWNrKCk7CgkJCXBpY2tlZFtib3hbaV0tMV09ZmFsc2U7Ly/mgaLlvqkKCQl9Cgl9Cn0KaW50IG1haW4oKSB7Cglpb3M6OnN5bmNfd2l0aF9zdGRpbygwKSwKCWNpbi50aWUoMCksIGNvdXQudGllKDApOwoJd2hpbGUoY2luPj5OKXsKCQlib3guY2xlYXIoKTsKCQliYWcuY2xlYXIoKTsKCQlmb3IoaW50IGk9TjtpPjA7aS0tKXsKCQkJYm94LnB1c2hfYmFjayhpKTsKCQl9CgkJUGlja0JhbGwoMCk7IAoJfQp9