import java.util.*;

public class Main {
    public static Set<Stringset=new TreeSet<>();
    public static void main(String[] args) {
       Scanner sc=new Scanner(System.in);
       String str=sc.nextLine();
       test1(str.toCharArray(),0,str.length()-1);
        System.out.println(set);
    }
    public static void test1(char[] arrayint startint end){
        if(start==end){
            set.add(String.valueOf(array));
        }
        for(int i=start;i<=end;i++){
            test2(array,i,start);
            test1(array,start+1,end);
            test2(array,i,start);
        }

    }
    public static void test2(char[] array,int i,int j){
        char temp=array[i];
        array[i]=array[j];
        array[j]=temp;
    }
    // public static String test3(char[] array){
    //  StringBuilder sb=new StringBuilder();
    //  for(char c:array){
    //      sb.append(c);
    //  }
    //    return sb.toString();
    // }
}