#include<stdio.h>
#include<string.h>
static void ExchangeCharacters(char* str, int p1,int p2);
static void RecursivePermute(char* str,int k)//递归函数
{
int i;
if(k==strlen(str))
printf("%s\n",str);
else
{
for(i=k;i<strlen(str);i++)
{
ExchangeCharacters(str,k,i);
RecursivePermute(str,k+1);
ExchangeCharacters(str,k,i);
}
}
}
static void ExchangeCharacters(char* str, int p1,int p2)
{
if(p1 == p2)
return;
char tmp;
tmp=str[p1];
str[p1]=str[p2];
str[p2]=tmp;
}
void main()
{
char str[10]={0};
scanf("%s",&str);
RecursivePermute(str,0);
}