#include <bits/stdc++.h>
using namespace std;
void printEncodings(string str, string ans) {
// Base case
if (str.length() == 0) {
cout << ans << endl;
return;
}
// If first character is 0, no encoding is possible
if (str[0] == '0') {
return;
}
// Take 1 digit
int num = str[0] - '0';
char ch = 'a' + num - 1;
printEncodings(str.substr(1), ans + ch);
// Take 2 digits
if (str.length() >= 2) {
int num2 = stoi(str.substr(0, 2));
if (num2 >= 10 && num2 <= 26) {
char ch2 = 'a' + num2 - 1;
printEncodings(str.substr(2), ans + ch2);
}
}
}
int main() {
string str;
cin >> str;
printEncodings(str, "");
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHByaW50RW5jb2RpbmdzKHN0cmluZyBzdHIsIHN0cmluZyBhbnMpIHsKCiAgICAvLyBCYXNlIGNhc2UKICAgIGlmIChzdHIubGVuZ3RoKCkgPT0gMCkgewogICAgICAgIGNvdXQgPDwgYW5zIDw8IGVuZGw7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vIElmIGZpcnN0IGNoYXJhY3RlciBpcyAwLCBubyBlbmNvZGluZyBpcyBwb3NzaWJsZQogICAgaWYgKHN0clswXSA9PSAnMCcpIHsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgLy8gVGFrZSAxIGRpZ2l0CiAgICBpbnQgbnVtID0gc3RyWzBdIC0gJzAnOwogICAgY2hhciBjaCA9ICdhJyArIG51bSAtIDE7CgogICAgcHJpbnRFbmNvZGluZ3Moc3RyLnN1YnN0cigxKSwgYW5zICsgY2gpOwoKICAgIC8vIFRha2UgMiBkaWdpdHMKICAgIGlmIChzdHIubGVuZ3RoKCkgPj0gMikgewogICAgICAgIGludCBudW0yID0gc3RvaShzdHIuc3Vic3RyKDAsIDIpKTsKCiAgICAgICAgaWYgKG51bTIgPj0gMTAgJiYgbnVtMiA8PSAyNikgewogICAgICAgICAgICBjaGFyIGNoMiA9ICdhJyArIG51bTIgLSAxOwoKICAgICAgICAgICAgcHJpbnRFbmNvZGluZ3Moc3RyLnN1YnN0cigyKSwgYW5zICsgY2gyKTsKICAgICAgICB9CiAgICB9Cn0KCmludCBtYWluKCkgewoKICAgIHN0cmluZyBzdHI7CiAgICBjaW4gPj4gc3RyOwoKICAgIHByaW50RW5jb2RpbmdzKHN0ciwgIiIpOwoKICAgIHJldHVybiAwOwp9