#include <string>
#include <iostream>
#include <algorithm>
#include <sstream>
std::string cond(std::string const& in) {
unsigned long table[ 26 ] = { 0 }; /* known fixed charset */
std::for_each(in.begin(), in.end(), [&table](char c){ table[ c - 'a' ]++; });
std::stringstream out;
for (size_t v = 0; v < 26; ++v) if (table[ v ]) out << table[ v ] << char(v + 'a');
return out.str();
}
int main(){
std::string in = "aaabbbbcccccdde";
std::cout << cond(in);
}
I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8c3N0cmVhbT4KCnN0ZDo6c3RyaW5nIGNvbmQoc3RkOjpzdHJpbmcgY29uc3QmIGluKSB7ICAgIAogICAgdW5zaWduZWQgbG9uZyB0YWJsZVsgMjYgXSA9IHsgMCB9OyAvKiBrbm93biBmaXhlZCBjaGFyc2V0ICovCiAgICBzdGQ6OmZvcl9lYWNoKGluLmJlZ2luKCksIGluLmVuZCgpLCBbJnRhYmxlXShjaGFyIGMpeyB0YWJsZVsgYyAtICdhJyBdKys7IH0pOwogICAgc3RkOjpzdHJpbmdzdHJlYW0gb3V0OwoJZm9yIChzaXplX3QgdiA9IDA7IHYgPCAyNjsgKyt2KSBpZiAodGFibGVbIHYgXSkgb3V0IDw8IHRhYmxlWyB2IF0gPDwgY2hhcih2ICsgJ2EnKTsKCXJldHVybiBvdXQuc3RyKCk7Cn0KCmludCBtYWluKCl7CiAgICBzdGQ6OnN0cmluZyBpbiA9ICJhYWFiYmJiY2NjY2NkZGUiOwogICAgc3RkOjpjb3V0IDw8IGNvbmQoaW4pOyAgICAKfQ==