#include<iostream>
#include<vector>
#include<algorithm>

using namespace std;

string Str;
void pailie(string str){
    if(str.size()==Str.size()){
        cout<<str<<endl;
        return;
    }
    for(int i = 0; i < Str.size(); i++){
        if(str.find(Str[i])==string::npos) pailie(str+Str[i]);
    }
}

int main(){
    cin>>Str;
    sort(Str.begin(),Str.end());
    pailie("");
    return 0;
}

全排列,每次确定字符串中的一位。
结束条件是排列得到的字符串和要求的字符串长度相同。