#include<iostream>
#include <string>
#include <cstring>
#include<algorithm>
using namespace std;
string ans;
bool st[10];
string s;
void dfs(int u)
{
if(u == s.size()) // 枚举到最后了,输出当前可行的ans
{
cout << ans << endl;
return;
}
for(int i = 0; i < s.size(); i++)
{
if(!st[i]) // 选过的不选
{
st[i] = true;
ans[u] = s[i]; // 选择当前位
dfs(u + 1); // 进入下一层
st[i] = false; // 回溯
}
}
}
int main()
{
cin >> s;
sort(s.begin(), s.end());
ans = s;
dfs(0);
}