#include <iostream>
#include <algorithm>
 
 
std::string compress_string(const std::string& s)
{
    std::string res;
    for (auto it = s.begin(); it != s.end(); ) {
        const auto next = std::find_if(it + 1, s.end(), [&](char c) { return *it != c; });
        const auto count = next - it;
        res += *it;
        if (count != 1) {
            res += std::to_string(count);
        }
        it = next;
    }
    return res;    
}
 

int main() {
    std::cout << compress_string("abcde") << std::endl;
    std::cout << compress_string("aaaaaaaaaaaabbbbbbbbbbcccc") << std::endl;
}