#include<iostream>
using namespace std;
int a[10], dd[10]={1}, n;
void xuat(){
for(int i=1; i<=n; i++)
cout<<a[i];
cout<<endl;
}
void backtrack(int i){
if(i>n) xuat();
for(int j=1; j<=n; j++){
if(dd[j]==1){
dd[j]=0;
a[i]=j;
backtrack(i+1);
dd[j]=1;
}
}
}
int main(){
for (int j = 0; j < 10; j++) cout << dd[j] << " "; cout << endl;
cin>>n;
backtrack(1);
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBhWzEwXSwgZGRbMTBdPXsxfSwgbjsKCnZvaWQgeHVhdCgpewoJZm9yKGludCBpPTE7IGk8PW47IGkrKykKCQljb3V0PDxhW2ldOwoJY291dDw8ZW5kbDsKfQoKdm9pZCBiYWNrdHJhY2soaW50IGkpewoJaWYoaT5uKSB4dWF0KCk7Cglmb3IoaW50IGo9MTsgajw9bjsgaisrKXsKCQlpZihkZFtqXT09MSl7CgkJCWRkW2pdPTA7CgkJCWFbaV09ajsKCQkJYmFja3RyYWNrKGkrMSk7CgkJCWRkW2pdPTE7CgkJfQoJfQp9CgppbnQgbWFpbigpewoJZm9yIChpbnQgaiA9IDA7IGogPCAxMDsgaisrKSBjb3V0IDw8IGRkW2pdIDw8ICIgIjsgY291dCA8PCBlbmRsOwoJY2luPj5uOwoJYmFja3RyYWNrKDEpOwoJcmV0dXJuIDA7Cn0K