#include <bits/stdc++.h>
using namespace std;
#define FAST ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
typedef long long ll;
set<string> strs;
void combine(string& n,int indx){
if(indx==n.size()){
strs.insert(n);
return;
}
for (int i = indx; i < n.size(); i++) {
swap(n[indx], n[i]);
combine(n, indx + 1);
swap(n[indx], n[i]);
}
}
int main() {
FAST
string n;
cin >> n;
combine(n,0);
cout << strs.size() << "\n";
for(const auto& s:strs){
cout<< s << "\n";
}
// system("pause");
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgRkFTVCBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKdHlwZWRlZiBsb25nIGxvbmcgbGw7CiAKc2V0PHN0cmluZz4gc3RyczsKdm9pZCBjb21iaW5lKHN0cmluZyYgbixpbnQgaW5keCl7CiAgICBpZihpbmR4PT1uLnNpemUoKSl7CiAgICAgICAgc3Rycy5pbnNlcnQobik7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgZm9yIChpbnQgaSA9IGluZHg7IGkgPCBuLnNpemUoKTsgaSsrKSB7CiAgICAgICAgc3dhcChuW2luZHhdLCBuW2ldKTsgICAgICAKICAgICAgICBjb21iaW5lKG4sIGluZHggKyAxKTsgICAgCiAgICAgICAgc3dhcChuW2luZHhdLCBuW2ldKTsgICAgIAogICAgfQogCn0KIAogCmludCBtYWluKCkgewogICAgRkFTVAogICAgc3RyaW5nIG47CiAgICBjaW4gPj4gbjsKICAgIGNvbWJpbmUobiwwKTsKICAgIGNvdXQgPDwgc3Rycy5zaXplKCkgPDwgIlxuIjsKICAgIGZvcihjb25zdCBhdXRvJiBzOnN0cnMpewogICAgICAgIGNvdXQ8PCBzIDw8ICJcbiI7CiAgICB9CiAgICAvLyBzeXN0ZW0oInBhdXNlIik7CiAgICByZXR1cm4gMDsKfQ==