#include <iostream>
#include <cstring>
#include <string.h>
#include <sstream>
using namespace std;
int main(int argc, char** argv)
{
int x;
cin >> x;
string *napis = new string [x];
cin.get();
for(int i=0; i<x; i++)
{
getline(cin, napis[i]);
}
for(int i=0; i<x; i++)
{
for(int j=0; napis[i][j]!='\0'; j++)
{
if(napis[i][j] == napis[i][j+1])
{
bool k = true;
int licznik = 1;
for(; k; licznik++)
{
if(napis[i][j+licznik] != napis[i][j+licznik+1]) k = false;
}
if( licznik < 3 ) continue;
stringstream ss;
ss << licznik;
string liczba = ss.str();
int iloscCyfr;
for(int k=j+1, l=0; liczba[l]!='\0'; k++, l++)
{
napis[i][k] = liczba[l];
iloscCyfr = l+1;
}
for(int m=0; m<(licznik-iloscCyfr-1); m++)
{
for(int s=j+iloscCyfr+1; napis[i][s]!='\0'; s++)
{
napis[i][s] = napis[i][s+1];
}
}
}
}
}
for (int i=0; i<x; i++)
{
cout << napis[i] <<endl;
}
delete [] napis;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8c3N0cmVhbT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCnsKCWludCB4OwoJY2luID4+IHg7CglzdHJpbmcgKm5hcGlzID0gbmV3IHN0cmluZyBbeF07CgljaW4uZ2V0KCk7Cglmb3IoaW50IGk9MDsgaTx4OyBpKyspCgl7CgkJZ2V0bGluZShjaW4sIG5hcGlzW2ldKTsKCX0KCWZvcihpbnQgaT0wOyBpPHg7IGkrKykKCXsKCQlmb3IoaW50IGo9MDsgbmFwaXNbaV1bal0hPSdcMCc7IGorKykKCQl7CgkJCWlmKG5hcGlzW2ldW2pdID09IG5hcGlzW2ldW2orMV0pCgkJCXsKCQkJCWJvb2wgayA9IHRydWU7CgkJCQlpbnQgbGljem5payA9IDE7CgkJCQlmb3IoOyBrOyBsaWN6bmlrKyspCgkJCQl7CgkJCQkJaWYobmFwaXNbaV1baitsaWN6bmlrXSAhPSBuYXBpc1tpXVtqK2xpY3puaWsrMV0pIGsgPSBmYWxzZTsKCQkJCX0KCQkJCWlmKCBsaWN6bmlrIDwgMyApIGNvbnRpbnVlOwoJCQkJc3RyaW5nc3RyZWFtIHNzOwoJCQkJc3MgPDwgbGljem5pazsKCQkJCXN0cmluZyBsaWN6YmEgPSBzcy5zdHIoKTsKCQkJCWludCBpbG9zY0N5ZnI7CgkJCQlmb3IoaW50IGs9aisxLCBsPTA7IGxpY3piYVtsXSE9J1wwJzsgaysrLCBsKyspCgkJCQl7CgkJCQkJbmFwaXNbaV1ba10gPSBsaWN6YmFbbF07CgkJCQkJaWxvc2NDeWZyID0gbCsxOwoJCQkJfQoJCQkJZm9yKGludCBtPTA7IG08KGxpY3puaWstaWxvc2NDeWZyLTEpOyBtKyspCgkJCQl7CgkJCQkJZm9yKGludCBzPWoraWxvc2NDeWZyKzE7IG5hcGlzW2ldW3NdIT0nXDAnOyBzKyspCgkJCQkJewoJCQkJCQluYXBpc1tpXVtzXSA9IG5hcGlzW2ldW3MrMV07CQkJCQkJCQoJCQkJCX0KCSAgIAkJCX0KCQkJfQoJCX0JCgl9Cglmb3IgKGludCBpPTA7IGk8eDsgaSsrKQoJewoJCWNvdXQgPDwgbmFwaXNbaV0gPDxlbmRsOwoJfQoJZGVsZXRlIFtdIG5hcGlzOwoJcmV0dXJuIDA7Cn0=