#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <stack>
#include <map>
using namespace std;

void permute(string s, int i) { //i是到了s的第几个位置
    if (i >= s.size()) { //到结尾了,输出字符
        printf("%s\n", s.c_str());
        return;
    }

    for (int j = i; j < s.size(); j++) {
        swap(s[i], s[j]);
        permute(s, i + 1);
    }
    return;

}

int main() {

    string s;
    getline(cin, s);
    sort(s.begin(), s.end());
    permute(s, 0);

}