#include<iostream>
#include<string>
#include<algorithm>
#define MAX 10000
using namespace std;
string res = "";
//进行全排列
void f(string s) {
if (s.size() == 0) {
cout << res << endl;
}
else {
for (int i = 0; i < s.size(); i++) {
res += s[i];
string temp = s;
temp.erase(i, 1);
f(temp);//随着递归的深度增加,res的长度会增长,当temp长度为零时,res完成,可是输出
res.erase(res.size() - 1, 1);//将这种尝试删除
}
}
}
int main() {
string s; cin >> s;
f(s);
return 0;
}