#include <iostream>
#include <string>
#include <regex>
std::string rr(const std::string& s) {
if (s.empty()) return s;
std::string c;
int cnt = 1;
for (size_t i = 1; i < s.length(); ++i) {
if (s[i] == s[i - 1]) {
cnt++;
} else {
c += s[i - 1] + std::to_string(cnt);
cnt = 1;
}
}
c += s.back() + std::to_string(cnt);
if (c.length() < s.length()) return c;
std::regex pattern("([A-Za-z])1(?!\\d)");
std::string fc = std::regex_replace(c, pattern, "$1");
if (fc.length() < s.length()) return fc;
return s;
}
int main() {
std::string input;
std::cin >> input;
std::cout << rr(input) << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8cmVnZXg+CgpzdGQ6OnN0cmluZyBycihjb25zdCBzdGQ6OnN0cmluZyYgcykgewogICAgaWYgKHMuZW1wdHkoKSkgcmV0dXJuIHM7CiAgICAKICAgIHN0ZDo6c3RyaW5nIGM7CiAgICBpbnQgY250ID0gMTsKICAgIGZvciAoc2l6ZV90IGkgPSAxOyBpIDwgcy5sZW5ndGgoKTsgKytpKSB7CiAgICAgICAgaWYgKHNbaV0gPT0gc1tpIC0gMV0pIHsKICAgICAgICAgICAgY250Kys7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYyArPSBzW2kgLSAxXSArIHN0ZDo6dG9fc3RyaW5nKGNudCk7CiAgICAgICAgICAgIGNudCA9IDE7CiAgICAgICAgfQogICAgfQogICAgYyArPSBzLmJhY2soKSArIHN0ZDo6dG9fc3RyaW5nKGNudCk7CiAgICAKICAgIGlmIChjLmxlbmd0aCgpIDwgcy5sZW5ndGgoKSkgcmV0dXJuIGM7CiAgICAKICAgIHN0ZDo6cmVnZXggcGF0dGVybigiKFtBLVphLXpdKTEoPyFcXGQpIik7CiAgICBzdGQ6OnN0cmluZyBmYyA9IHN0ZDo6cmVnZXhfcmVwbGFjZShjLCBwYXR0ZXJuLCAiJDEiKTsKICAgIGlmIChmYy5sZW5ndGgoKSA8IHMubGVuZ3RoKCkpIHJldHVybiBmYzsKICAgIAogICAgcmV0dXJuIHM7Cn0KCmludCBtYWluKCkgewogICAgc3RkOjpzdHJpbmcgaW5wdXQ7CiAgICBzdGQ6OmNpbiA+PiBpbnB1dDsKICAgIHN0ZDo6Y291dCA8PCBycihpbnB1dCkgPDwgc3RkOjplbmRsOwogICAgcmV0dXJuIDA7Cn0K