// 若使用next_permutation函数,必须先将原序列排序!
// 另外,库中另一函数prev_permutation与next_permutation相反,由原排列得到字典序中上一次最近排列。
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <string>
#include <algorithm>
#include <iostream>
using namespace std;
const int N=14;
char str[N];
int main(){
// freopen("data.in","r",stdin);
// freopen("data.out","w",stdout);
while(scanf("%s",str)!=EOF){
int len=strlen(str);
sort(str,str+len);
do{
printf("%s\n",str);
}while(next_permutation(str,str+len));
}
return 0;
}
/*
输入:
cba
输出:
abc
acb
bac
bca
cab
cba
*/