#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,x[1000];
bool ok=true;
void init(){
cin>>n;
for(int i=0;i<n;i++){
x[i]=i+1;
}
}
void result(){
for(int i=0;i<n;i++){
cout<<x[i]<<" ";
}
cout<<endl;
}
void next_permutation(){
int j=n-2;
while(j>=0&&x[j]>=x[j+1]){
j--;
}
if(j>=0){
int k=n-1;
while(x[k]<=x[j]){
k--;
}
swap(x[j],x[k]);
reverse(x+j+1,x+n);
}
else ok=false;
}
int main(){
init();
while(ok){
result();
next_permutation();
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgbGw7CmludCBuLHhbMTAwMF07CmJvb2wgb2s9dHJ1ZTsKdm9pZCBpbml0KCl7CgljaW4+Pm47Cglmb3IoaW50IGk9MDtpPG47aSsrKXsKCQl4W2ldPWkrMTsKCX0KfQp2b2lkIHJlc3VsdCgpewoJZm9yKGludCBpPTA7aTxuO2krKyl7CgkJY291dDw8eFtpXTw8IiAiOwoJfQoJY291dDw8ZW5kbDsKfQp2b2lkIG5leHRfcGVybXV0YXRpb24oKXsKCWludCBqPW4tMjsKCXdoaWxlKGo+PTAmJnhbal0+PXhbaisxXSl7CgkJai0tOwoJfQoJaWYoaj49MCl7CgkJaW50IGs9bi0xOwoJCXdoaWxlKHhba108PXhbal0pewoJCQlrLS07CgkJfQoJCXN3YXAoeFtqXSx4W2tdKTsKCQlyZXZlcnNlKHgraisxLHgrbik7Cgl9CgllbHNlIG9rPWZhbHNlOwoJCn0KaW50IG1haW4oKXsKaW5pdCgpOwp3aGlsZShvayl7CglyZXN1bHQoKTsKCW5leHRfcGVybXV0YXRpb24oKTsKfQpyZXR1cm4gMDsKfQo=