#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <iterator>
#include <algorithm>
template<typename T, size_t S>
T& pick(T(&a)[S]) {
return a[rand() % S];
}
std::map<std::string, std::string> cyrillic = {
{"а", "А"}, {"б", "Б"}, {"в", "В"}, {"г", "Г"}, {"д", "Д"},
{"е", "Е"}, {"ё", "Ё"}, {"ж", "Ж"}, {"з", "З"}, {"и", "И"},
{"й", "Й"}, {"к", "К"}, {"л", "Л"}, {"м", "М"}, {"н", "Н"},
{"о", "О"}, {"п", "П"}, {"р", "Р"}, {"с", "С"}, {"т", "Т"},
{"у", "У"}, {"ф", "Ф"}, {"х", "Х"}, {"ц", "Ц"}, {"ч", "Ч"},
{"ш", "Ш"}, {"щ", "Щ"}, {"ъ", "Ъ"}, {"ы", "Ы"}, {"ь", "Ь"},
{"э", "Э"}, {"ю", "Ю"}, {"я", "Я"}
};
std::string cyrillic_toupper(std::string s) {
if(cyrillic.find(s) == cyrillic.end())
throw 1;
return cyrillic[s];
}
const char *a[] = {"педальн", "помойн", "фекальн", "петушин", "обоссанн", "обосранн", "пидорнут"};
const char *b[] = {"моче", "кало"};
const char *c[] = {"подтирач", "навозач", "блевач", "педальчан", "залупач", "обоссач", "обосрач", "барак", "туалет", "унитаз", "петушач", "курятник", "глотач", "харкач", "дристач"};
const char *d[] = {"параша", "подмывальня", "канава", "обиженка", "помойка"};
const char *tpl[] = {
"%w%%a%ый %b%%c%",
"%w%%a%ая %b%%d%",
"%a%о%a%ый %w%%c%",
"%a%о%a%ая %w%%d%",
"%a%ый %w%%c%",
"%a%ая %w%%d%"
};
int main() {
srand(time(NULL));
std::string word;
std::cin >> word;
word.erase(std::remove(word.begin(), word.end(), '%'), word.end());
if(word.empty())
return 1;
std::vector<std::string> res;
for(int i = 0; i < 100; i++) {
std::string str = pick(tpl);
std::string::size_type pos = 0;
while((pos = str.find('%', pos)) != std::string::npos) {
switch(str[pos + 1]) {
case 'a': str.replace(pos, 3, pick(a)); break;
case 'b': str.replace(pos, 3, pick(b)); break;
case 'c': str.replace(pos, 3, pick(c)); break;
case 'd': str.replace(pos, 3, pick(d)); break;
case 'w': str.replace(pos, 3, word); break;
}
pos++;
}
if(std::find(res.begin(), res.end(), str) != res.end()
|| str.compare((str.find(' ') / 2) - 3, 2, "о") != std::string::npos) {
i--;
continue;
}
str.replace(0, 2, cyrillic_toupper(str.substr(0, 2)));
res.push_back(str);
}
std::copy(
res.begin(),
res.end(),
std::ostream_iterator<std::string>(std::cout, "\n")
);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDxhbGdvcml0aG0+Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgUz4KVCYgcGljayhUKCZhKVtTXSkgewogICByZXR1cm4gYVtyYW5kKCkgJSBTXTsKfQoKc3RkOjptYXA8c3RkOjpzdHJpbmcsIHN0ZDo6c3RyaW5nPiBjeXJpbGxpYyA9IHsKICAgeyLQsCIsICLQkCJ9LCB7ItCxIiwgItCRIn0sIHsi0LIiLCAi0JIifSwgeyLQsyIsICLQkyJ9LCB7ItC0IiwgItCUIn0sCiAgIHsi0LUiLCAi0JUifSwgeyLRkSIsICLQgSJ9LCB7ItC2IiwgItCWIn0sIHsi0LciLCAi0JcifSwgeyLQuCIsICLQmCJ9LAogICB7ItC5IiwgItCZIn0sIHsi0LoiLCAi0JoifSwgeyLQuyIsICLQmyJ9LCB7ItC8IiwgItCcIn0sIHsi0L0iLCAi0J0ifSwKICAgeyLQviIsICLQniJ9LCB7ItC/IiwgItCfIn0sIHsi0YAiLCAi0KAifSwgeyLRgSIsICLQoSJ9LCB7ItGCIiwgItCiIn0sCiAgIHsi0YMiLCAi0KMifSwgeyLRhCIsICLQpCJ9LCB7ItGFIiwgItClIn0sIHsi0YYiLCAi0KYifSwgeyLRhyIsICLQpyJ9LAogICB7ItGIIiwgItCoIn0sIHsi0YkiLCAi0KkifSwgeyLRiiIsICLQqiJ9LCB7ItGLIiwgItCrIn0sIHsi0YwiLCAi0KwifSwKICAgeyLRjSIsICLQrSJ9LCB7ItGOIiwgItCuIn0sIHsi0Y8iLCAi0K8ifQp9OwoKc3RkOjpzdHJpbmcgY3lyaWxsaWNfdG91cHBlcihzdGQ6OnN0cmluZyBzKSB7CiAgIGlmKGN5cmlsbGljLmZpbmQocykgPT0gY3lyaWxsaWMuZW5kKCkpCiAgICAgIHRocm93IDE7CiAgIHJldHVybiBjeXJpbGxpY1tzXTsKfQoKY29uc3QgY2hhciAqYVtdID0geyLQv9C10LTQsNC70YzQvSIsICLQv9C+0LzQvtC50L0iLCAi0YTQtdC60LDQu9GM0L0iLCAi0L/QtdGC0YPRiNC40L0iLCAi0L7QsdC+0YHRgdCw0L3QvSIsICLQvtCx0L7RgdGA0LDQvdC9IiwgItC/0LjQtNC+0YDQvdGD0YIifTsKY29uc3QgY2hhciAqYltdID0geyLQvNC+0YfQtSIsICLQutCw0LvQviJ9Owpjb25zdCBjaGFyICpjW10gPSB7ItC/0L7QtNGC0LjRgNCw0YciLCAi0L3QsNCy0L7Qt9Cw0YciLCAi0LHQu9C10LLQsNGHIiwgItC/0LXQtNCw0LvRjNGH0LDQvSIsICLQt9Cw0LvRg9C/0LDRhyIsICLQvtCx0L7RgdGB0LDRhyIsICLQvtCx0L7RgdGA0LDRhyIsICLQsdCw0YDQsNC6IiwgItGC0YPQsNC70LXRgiIsICLRg9C90LjRgtCw0LciLCAi0L/QtdGC0YPRiNCw0YciLCAi0LrRg9GA0Y/RgtC90LjQuiIsICLQs9C70L7RgtCw0YciLCAi0YXQsNGA0LrQsNGHIiwgItC00YDQuNGB0YLQsNGHIn07CmNvbnN0IGNoYXIgKmRbXSA9IHsi0L/QsNGA0LDRiNCwIiwgItC/0L7QtNC80YvQstCw0LvRjNC90Y8iLCAi0LrQsNC90LDQstCwIiwgItC+0LHQuNC20LXQvdC60LAiLCAi0L/QvtC80L7QudC60LAifTsKCmNvbnN0IGNoYXIgKnRwbFtdID0gewogICAiJXclJWEl0YvQuSAlYiUlYyUiLAogICAiJXclJWEl0LDRjyAlYiUlZCUiLAogICAiJWEl0L4lYSXRi9C5ICV3JSVjJSIsCiAgICIlYSXQviVhJdCw0Y8gJXclJWQlIiwKICAgIiVhJdGL0LkgJXclJWMlIiwKICAgIiVhJdCw0Y8gJXclJWQlIgp9OwoKaW50IG1haW4oKSB7CiAgIHNyYW5kKHRpbWUoTlVMTCkpOwoKICAgc3RkOjpzdHJpbmcgd29yZDsKICAgc3RkOjpjaW4gPj4gd29yZDsKICAgd29yZC5lcmFzZShzdGQ6OnJlbW92ZSh3b3JkLmJlZ2luKCksIHdvcmQuZW5kKCksICclJyksIHdvcmQuZW5kKCkpOwogICBpZih3b3JkLmVtcHR5KCkpCiAgICAgIHJldHVybiAxOwoKICAgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IHJlczsKCiAgIGZvcihpbnQgaSA9IDA7IGkgPCAxMDA7IGkrKykgewogICAgICBzdGQ6OnN0cmluZyBzdHIgPSBwaWNrKHRwbCk7CgogICAgICBzdGQ6OnN0cmluZzo6c2l6ZV90eXBlIHBvcyA9IDA7CiAgICAgIHdoaWxlKChwb3MgPSBzdHIuZmluZCgnJScsIHBvcykpICE9IHN0ZDo6c3RyaW5nOjpucG9zKSB7CiAgICAgICAgIHN3aXRjaChzdHJbcG9zICsgMV0pIHsKICAgICAgICAgICAgY2FzZSAnYSc6IHN0ci5yZXBsYWNlKHBvcywgMywgcGljayhhKSk7IGJyZWFrOwogICAgICAgICAgICBjYXNlICdiJzogc3RyLnJlcGxhY2UocG9zLCAzLCBwaWNrKGIpKTsgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2MnOiBzdHIucmVwbGFjZShwb3MsIDMsIHBpY2soYykpOyBicmVhazsKICAgICAgICAgICAgY2FzZSAnZCc6IHN0ci5yZXBsYWNlKHBvcywgMywgcGljayhkKSk7IGJyZWFrOwogICAgICAgICAgICBjYXNlICd3Jzogc3RyLnJlcGxhY2UocG9zLCAzLCB3b3JkKTsgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgcG9zKys7CiAgICAgIH0KCiAgICAgIGlmKHN0ZDo6ZmluZChyZXMuYmVnaW4oKSwgcmVzLmVuZCgpLCBzdHIpICE9IHJlcy5lbmQoKQogICAgICAgICB8fCBzdHIuY29tcGFyZSgoc3RyLmZpbmQoJyAnKSAvIDIpIC0gMywgMiwgItC+IikgIT0gc3RkOjpzdHJpbmc6Om5wb3MpIHsKICAgICAgICAgaS0tOwogICAgICAgICBjb250aW51ZTsKICAgICAgfQoKICAgICAgc3RyLnJlcGxhY2UoMCwgMiwgY3lyaWxsaWNfdG91cHBlcihzdHIuc3Vic3RyKDAsIDIpKSk7CgogICAgICByZXMucHVzaF9iYWNrKHN0cik7CiAgIH0KCiAgIHN0ZDo6Y29weSgKICAgICAgcmVzLmJlZ2luKCksCiAgICAgIHJlcy5lbmQoKSwKICAgICAgc3RkOjpvc3RyZWFtX2l0ZXJhdG9yPHN0ZDo6c3RyaW5nPihzdGQ6OmNvdXQsICJcbiIpCiAgICk7CgogICByZXR1cm4gMDsKfQo=