// editor1
#include <iostream>
#include <algorithm>
using namespace std;

void combinations(const string &s, string curr, int index){
   if (!curr.empty()){
       count << curr << " ";
   }
   
   for(int i = index; i < s.lenght();i++){
     combinations(s,curr + s[i],i+1);
   }
}

void permutations(string s){
  sort(s.begin(),s.end());
  do{
    cout<<s<<"";
  } while (next_permutation(s.begin(),s.end()));
}

int main(){ 
   string s;
   cin>>s;
   
   for(char c : s){
     if(isdigit(c)){
       cout<<"Invalid input";
       return 0;
     }
   }

   combinations(s,"",0);
   cout<<endl;

   permutations(s);

   return 0;
}