#include <iostream>
#include <sstream>
using namespace std;
string compress(const string &str)
{
ostringstream ss;
for(int ch=0,prv=str[0],count=1,i=1;prv;++i,prv=ch)
{
if((ch=str[i])==prv) ++count;
else if(count==1) ss<<(char)prv;
else
{
ss<<count<<(char)prv;
count=1;
}
}
return ss.str();
}
int main(void)
{
cout<<compress("abcccdefff ffbbcdegg")<<endl;
cout<<compress("bbba")<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cmluZyBjb21wcmVzcyhjb25zdCBzdHJpbmcgJnN0cikKICB7CiAgIG9zdHJpbmdzdHJlYW0gc3M7CiAgIGZvcihpbnQgY2g9MCxwcnY9c3RyWzBdLGNvdW50PTEsaT0xO3BydjsrK2kscHJ2PWNoKQogICAgIHsKICAgICAgaWYoKGNoPXN0cltpXSk9PXBydikgKytjb3VudDsKICAgICAgZWxzZSBpZihjb3VudD09MSkgc3M8PChjaGFyKXBydjsKICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgc3M8PGNvdW50PDwoY2hhcilwcnY7CiAgICAgICAgIGNvdW50PTE7CiAgICAgICAgfQogICAgIH0KICAgcmV0dXJuIHNzLnN0cigpOwogIH0KICAKaW50IG1haW4odm9pZCkKICB7CiAgIGNvdXQ8PGNvbXByZXNzKCJhYmNjY2RlZmZmIGZmYmJjZGVnZyIpPDxlbmRsOwogICBjb3V0PDxjb21wcmVzcygiYmJiYSIpPDxlbmRsOwogICByZXR1cm4gMDsKICB9