#include<bits/stdc++.h>
using namespace std;
vector<string>ans;
void backtrack(string s,int cur,int n){
    if(cur==n-1){
        ans.push_back(s);
        cout<<ans;
        return;
    }
    unordered_set<char>used;
    for(int i=cur;i<n;i++){
        if(used.count(s[i])){
            continue;
        }
        used.insert(s[i]);
        swap(s[i],s[cur]);
        backtrack(s,cur+1,n);
        swap(s[i],s[cur]);
    }
}
int main(){
    string s;
    getline(cin,s);
    int n=s.length();
    backtrack(s,0,n);
    for(string i:ans){
        cout<<i<<endl;
    }
}