#include <iostream>
#include<vector>
#include<string.h>
#include<algorithm>
using namespace std;
vector<string>v;
void perm( char* s,char* o,int i,int j){
if(s[i]=='\0'){
o[j]='\0';
if(strcmp(s,o)>0){
v.push_back(o);
}
}
for(int k=i;s[k]!='\0';k++){
swap(s[i],s[k]);
o[j]=s[i];
perm(s,o,i+1,j+1);
swap(s[i],s[k]);
}
}
int main() {
char s[100],o[100];
cin>>s;
perm(s,o,0,0);
sort(v.begin(),v.end());
for(int i=0;i<v.size();i++)
cout<<v[i]<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTx2ZWN0b3I+CiNpbmNsdWRlPHN0cmluZy5oPgojaW5jbHVkZTxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2ZWN0b3I8c3RyaW5nPnY7Cgp2b2lkIHBlcm0oIGNoYXIqIHMsY2hhciogbyxpbnQgaSxpbnQgail7CglpZihzW2ldPT0nXDAnKXsKCQlvW2pdPSdcMCc7CglpZihzdHJjbXAocyxvKT4wKXsKCQkgdi5wdXNoX2JhY2sobyk7Cgl9CgoJfQoJZm9yKGludCBrPWk7c1trXSE9J1wwJztrKyspewoJCXN3YXAoc1tpXSxzW2tdKTsKCQlvW2pdPXNbaV07CgkJcGVybShzLG8saSsxLGorMSk7CgkJc3dhcChzW2ldLHNba10pOwoJfQp9CgppbnQgbWFpbigpIHsKCWNoYXIgc1sxMDBdLG9bMTAwXTsKCWNpbj4+czsKCXBlcm0ocyxvLDAsMCk7Cglzb3J0KHYuYmVnaW4oKSx2LmVuZCgpKTsKCWZvcihpbnQgaT0wO2k8di5zaXplKCk7aSsrKQoJY291dDw8dltpXTw8ZW5kbDsKCXJldHVybiAwOwp9