#include <bits/stdc++.h>
using namespace std;
bool should_swap(string s,int index,int curr){
for(int i=index;i<curr;i++){
if(s[index]==s[curr]) return false;
}
return true;
}
void permute(string s,int index){
if(index>=s.length()){
cout<<s<<endl;
return;
}
for(int i=index;i<s.length();i++){
if(should_swap(s,index,i)){
swap(s[index],s[i]);
permute(s,index+1);
swap(s[index],s[i]);
}
}
}
int main(){
string s;
cin>>s;
sort(s.begin(),s.end());
permute(s,0);
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sIHNob3VsZF9zd2FwKHN0cmluZyBzLGludCBpbmRleCxpbnQgY3Vycil7CiAgICBmb3IoaW50IGk9aW5kZXg7aTxjdXJyO2krKyl7CiAgICAgICAgaWYoc1tpbmRleF09PXNbY3Vycl0pIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB0cnVlOwp9Cgp2b2lkIHBlcm11dGUoc3RyaW5nIHMsaW50IGluZGV4KXsKCiAgICBpZihpbmRleD49cy5sZW5ndGgoKSl7CiAgICAgICAgY291dDw8czw8ZW5kbDsKICAgICAgICByZXR1cm47CiAgICB9CiAgICAKICAgIGZvcihpbnQgaT1pbmRleDtpPHMubGVuZ3RoKCk7aSsrKXsKICAgICAgICBpZihzaG91bGRfc3dhcChzLGluZGV4LGkpKXsKICAgICAgICAgICAgc3dhcChzW2luZGV4XSxzW2ldKTsKICAgICAgICAgICAgcGVybXV0ZShzLGluZGV4KzEpOwogICAgICAgICAgICBzd2FwKHNbaW5kZXhdLHNbaV0pOwogICAgICAgIH0KICAgIH0KfQoKaW50IG1haW4oKXsKCiAgICBzdHJpbmcgczsKICAgIGNpbj4+czsKICAgIHNvcnQocy5iZWdpbigpLHMuZW5kKCkpOwogICAgcGVybXV0ZShzLDApOwoKfQ==