#include <iostream>
#include <string>
#include <cstdio>
using namespace std;
int counter;
int lengthName;
int letterCounter=0;
int tempNumber;
string name,newName,tempLetter;
int status; //0-brak powturzenia, 1-dwa, 2-wiecej
int main()
{
cin>> counter;
for(int i=0; i<counter; i++)
{
cin>>name;
lengthName = name.length();
newName=name[0];
for(int i=1; i<=lengthName; i++)
{
if(name[i]==name[i-1])
{
letterCounter++;
status=1;
}
else
{
status=0;
}
if(status==0)
{
if (letterCounter==1)
{
newName=newName+name[i-1];
letterCounter=0;
}
if(letterCounter>1)
{
string tmp;
sprintf((char*)tmp.c_str(), "%d",letterCounter+1);
string str=tmp.c_str();
newName=newName+str;
letterCounter=0;
}
if (letterCounter==0 )
{
newName=newName+name[i];
}
}
}
cout<<newName<<endl;
newName="";
letterCounter=0;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y3N0ZGlvPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGNvdW50ZXI7CmludCBsZW5ndGhOYW1lOwppbnQgbGV0dGVyQ291bnRlcj0wOwppbnQgdGVtcE51bWJlcjsKc3RyaW5nIG5hbWUsbmV3TmFtZSx0ZW1wTGV0dGVyOwppbnQgc3RhdHVzOyAvLzAtYnJhayBwb3d0dXJ6ZW5pYSwgMS1kd2EsIDItd2llY2VqCgoKaW50IG1haW4oKQp7CiAgICBjaW4+PiBjb3VudGVyOwoKICAgIGZvcihpbnQgaT0wOyBpPGNvdW50ZXI7IGkrKykKICAgIHsKICAgICBjaW4+Pm5hbWU7CiAgICAgbGVuZ3RoTmFtZSA9IG5hbWUubGVuZ3RoKCk7CiAgICAgbmV3TmFtZT1uYW1lWzBdOwoKICAgICAgIGZvcihpbnQgaT0xOyBpPD1sZW5ndGhOYW1lOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBpZihuYW1lW2ldPT1uYW1lW2ktMV0pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICBsZXR0ZXJDb3VudGVyKys7CiAgICAgICAgICAgICAgc3RhdHVzPTE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc3RhdHVzPTA7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICBpZihzdGF0dXM9PTApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICBpZiAobGV0dGVyQ291bnRlcj09MSkKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBuZXdOYW1lPW5ld05hbWUrbmFtZVtpLTFdOwogICAgICAgICAgICAgICAgbGV0dGVyQ291bnRlcj0wOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgaWYobGV0dGVyQ291bnRlcj4xKQogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICBzdHJpbmcgdG1wOwogICAgICAgICAgICAgIHNwcmludGYoKGNoYXIqKXRtcC5jX3N0cigpLCAiJWQiLGxldHRlckNvdW50ZXIrMSk7CiAgICAgICAgICAgICAgc3RyaW5nIHN0cj10bXAuY19zdHIoKTsKICAgICAgICAgICAgICBuZXdOYW1lPW5ld05hbWUrc3RyOwogICAgICAgICAgICAgIGxldHRlckNvdW50ZXI9MDsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIGlmIChsZXR0ZXJDb3VudGVyPT0wICkKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgIG5ld05hbWU9bmV3TmFtZStuYW1lW2ldOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICB9CiAgICAgICAgICAgICAgICBjb3V0PDxuZXdOYW1lPDxlbmRsOwogICAgICAgICAgICAgICAgbmV3TmFtZT0iIjsKICAgICAgICAgICAgICAgIGxldHRlckNvdW50ZXI9MDsKCiAgIH0KcmV0dXJuIDA7Cn0K