#include <iostream>
#include <string> // It's good practice to include string and to_string
using namespace std;
int main() {
string s;
cin >> s;
// Handle empty string edge case
if (s.empty()) {
return 0;
}
string ans = "";
ans += s[0];
int cnt = 1;
for (int i = 1; i < s.size(); i++) {
if (s[i] == s[i - 1]) {
// If current char is the same as the previous, just increase count
cnt++;
} else {
// If it's different, append the previous count, then the new char
ans += to_string(cnt);
ans += s[i];
cnt = 1; // Reset count for the new character
}
}
// Don't forget to append the count of the very last character sequence!
ans += to_string(cnt);
cout << ans << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPiAvLyBJdCdzIGdvb2QgcHJhY3RpY2UgdG8gaW5jbHVkZSBzdHJpbmcgYW5kIHRvX3N0cmluZwoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgc3RyaW5nIHM7CiAgICBjaW4gPj4gczsKICAgIAogICAgLy8gSGFuZGxlIGVtcHR5IHN0cmluZyBlZGdlIGNhc2UKICAgIGlmIChzLmVtcHR5KCkpIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KCiAgICBzdHJpbmcgYW5zID0gIiI7CiAgICBhbnMgKz0gc1swXTsKICAgIGludCBjbnQgPSAxOwogICAgCiAgICBmb3IgKGludCBpID0gMTsgaSA8IHMuc2l6ZSgpOyBpKyspIHsKICAgICAgICBpZiAoc1tpXSA9PSBzW2kgLSAxXSkgewogICAgICAgICAgICAvLyBJZiBjdXJyZW50IGNoYXIgaXMgdGhlIHNhbWUgYXMgdGhlIHByZXZpb3VzLCBqdXN0IGluY3JlYXNlIGNvdW50CiAgICAgICAgICAgIGNudCsrOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIElmIGl0J3MgZGlmZmVyZW50LCBhcHBlbmQgdGhlIHByZXZpb3VzIGNvdW50LCB0aGVuIHRoZSBuZXcgY2hhcgogICAgICAgICAgICBhbnMgKz0gdG9fc3RyaW5nKGNudCk7CiAgICAgICAgICAgIGFucyArPSBzW2ldOwogICAgICAgICAgICBjbnQgPSAxOyAvLyBSZXNldCBjb3VudCBmb3IgdGhlIG5ldyBjaGFyYWN0ZXIKICAgICAgICB9CiAgICB9CiAgICAKICAgIC8vIERvbid0IGZvcmdldCB0byBhcHBlbmQgdGhlIGNvdW50IG9mIHRoZSB2ZXJ5IGxhc3QgY2hhcmFjdGVyIHNlcXVlbmNlIQogICAgYW5zICs9IHRvX3N0cmluZyhjbnQpOwoKICAgIGNvdXQgPDwgYW5zIDw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQ==