#include <iostream>
using namespace std;
#include <string>
//k:当前的交换位置(关注点),与其后的元素交换
void dfs(string data,int k)
{
if (k == data.length())
cout << data << endl;;
for (int i = k;i < data.length();i++)
{
swap(data[i],data[k]); //试探
dfs(data,k+1);
swap(data[i], data[k]); //回溯
}
}
int main()
{
string data;
cin >> data;
dfs(data,0);
return 0;
}