import java.util.Scanner;
public class 全排列 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
while(scanner.hasNext()){
String s=scanner.next();
char[] shu=s.toCharArray();//字符分割
pailie(shu,0);//排列函数调用 从零位置开始
}
}
public static void pailie(char shu[],int k){
//判断是否为总长度 ,若k等于总长度则输出
if(k==shu.length){
for(int i=0;i<shu.length;i++){
System.out.print(shu[i]+" ");
}
System.out.println();
}
//k小于总长度时
for(int i=k;i<shu.length;i++){
//交换位置
{
char t=shu[k];
shu[k]=shu[i];
shu[i]=t;
}
//递归 下一个数去排列
pailie(shu,k+1);
System.out.print("0");
//交换回来
{
char t=shu[k];
shu[k]=shu[i];
shu[i]=t;
}
}
}
}