#include <iostream>
#include<string>
#include<vector>
using namespace std;

vector<string>res;      //保存结果

void dfs(string s,string cur){
    if (s=="") res.push_back(cur);
    for(int i=0;i<s.size();++i){
        char tmp=s[i];
        s.erase(i,1);               //删去第i个位置,dfs
        dfs(s,cur+tmp);
        s.insert(i,1,tmp);          //回溯,加回字符
    }
}

int main() {
    string s;
    while(cin>>s){
        res={};
        dfs(s,"");
        for(string x:res) cout<<x<<endl;
    }
}