import java.util.*;
public class Main {
public static Set<String> set=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[] array, int start, int 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();
// }
}