#include <iostream>
using namespace std;

void comb(string s) {
    
    if (cur != "") cout << cur << " ";
    for (int j = i; j < s.length(); j++)
    comb(s, j + 1, cur + s[j]);
}
void perm(string s, int l, int r) {
    if (l == r) {
        cout << s << " ";
        return;
    }
    for (int i = l; i <= r; i++) {
        swap(s[l], s[i]);
        perm(s, l + i, r);
    }
}

int main() {
    string s;
    cin >> s;
    
    for (char c : s) {
        if (c >= '0' && c <= '9') {
            cout << "Invalid input";
            return 0;
        }
    }
    comb(s, 0, "");
    cout << "\n";
    
    perm(s, 0, s.length() - 1);
    
    return 0;
}