#include <stdio.h>
#include <string.h>
void change(char *s,int a,int b,int l){
char t;
t=s[a];
s[a]=s[b];
s[b]=t;
for(int i=a+1;i<l-1;i++){
for(int j=i+1;j<l;j++){
if(s[i]>s[j])
{
t=s[i];
s[i]=s[j];
s[j]=t;
}
}
}
}
void f(char *s,int start,int l){
char t;
char a[11];
if(start==l){
printf("%s\n",s);
}
for(int i=start;i<l;i++){
strcpy(a, s);
/*t=s[i];
s[i]=s[start];
s[start]=t;*/
change(s, start, i, l);
f(s,start+1,l);
strcpy(s, a);
//change(s, start, i, l);
t=s[i];
s[i]=s[start];
s[start]=t;
}
}
int main() {
int l;
char a[11]={'\0'};
scanf("%s",a);
l=strlen(a);
f(a,0,l);
}