#include <iostream>
#include <string>
#include <sstream>
using namespace std;
string replace_num_with_x(const string &str);
int main() {
cout << "Please enter a line of text:";
string str;
getline(cin, str);
cout << replace_num_with_x(str);
}
string replace_num_with_x(const string &str) {
istringstream str_strm(str);
string word, result;
while (str_strm >> word) {
bool all_digits = true;
string::size_type word_size = word.size();
for (string::size_type i = 0; i < word_size; ++i) {
if (word[i] < '0' || word[i] > '9') {
all_digits = false;
break;
}
}
if (!result.empty()) {
result += ' ';
}
if (all_digits) {
result.append(word_size, 'x');
} else {
result += word;
}
}
return result;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cmluZyByZXBsYWNlX251bV93aXRoX3goY29uc3Qgc3RyaW5nICZzdHIpOwoKaW50IG1haW4oKSB7CiAgICBjb3V0IDw8ICJQbGVhc2UgZW50ZXIgYSBsaW5lIG9mIHRleHQ6IjsKICAgIHN0cmluZyBzdHI7CiAgICBnZXRsaW5lKGNpbiwgc3RyKTsKICAgIGNvdXQgPDwgcmVwbGFjZV9udW1fd2l0aF94KHN0cik7Cn0KCnN0cmluZyByZXBsYWNlX251bV93aXRoX3goY29uc3Qgc3RyaW5nICZzdHIpIHsKICAgIGlzdHJpbmdzdHJlYW0gc3RyX3N0cm0oc3RyKTsKICAgIHN0cmluZyB3b3JkLCByZXN1bHQ7CgogICAgd2hpbGUgKHN0cl9zdHJtID4+IHdvcmQpIHsKICAgICAgICBib29sIGFsbF9kaWdpdHMgPSB0cnVlOwogICAgICAgIHN0cmluZzo6c2l6ZV90eXBlIHdvcmRfc2l6ZSA9IHdvcmQuc2l6ZSgpOwoKICAgICAgICBmb3IgKHN0cmluZzo6c2l6ZV90eXBlIGkgPSAwOyBpIDwgd29yZF9zaXplOyArK2kpIHsKICAgICAgICAgICAgaWYgKHdvcmRbaV0gPCAnMCcgfHwgd29yZFtpXSA+ICc5JykgewogICAgICAgICAgICAgICAgYWxsX2RpZ2l0cyA9IGZhbHNlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgoJCWlmICghcmVzdWx0LmVtcHR5KCkpIHsKCQkJcmVzdWx0ICs9ICcgJzsKCQl9CgogICAgICAgIGlmIChhbGxfZGlnaXRzKSB7CiAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQod29yZF9zaXplLCAneCcpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJlc3VsdCArPSB3b3JkOwogICAgICAgIH0KICAgIH0KICAgIAogICAgcmV0dXJuIHJlc3VsdDsKfQ==