#include <iostream>
#include <string>
using namespace std;
int main( )
{
int C,flag= 0 ;
cin >> C;
if ( 1 <= C&& C<= 50 )
{
for ( int j= 1 ; j<= C; j++ )
{
string wyrazenie;
cin >> wyrazenie;
int counter= 2 ;
flag= 0 ;
if ( wyrazenie.length ( ) > 200 ) flag= 1 ;
for ( int k= 0 ; k<= wyrazenie.length ( ) - 1 ; k++ )
{
if ( wyrazenie[ k] >= 65 && wyrazenie[ k] <= 90 && wyrazenie[ k] ) flag= 0 ;
else { flag= 1 ; break ; }
}
if ( flag== 0 )
{
for ( int i= 0 ; i<= wyrazenie.length ( ) ; i++ )
{
if ( wyrazenie[ i- 2 ] == wyrazenie[ i] && wyrazenie[ i- 1 ] == wyrazenie[ i] ) counter+ = 1 ; //jeśli znajdziesz sekwencję więcej niż 2 takich samych liter z rzędu, zacznij liczyć te litery
if ( counter>= 3 && wyrazenie[ i+ 1 ] ! = wyrazenie[ i] ) //na końcu sekwencji więcej niż 2 takich samych liter wyświetl pojedynczą literę oraz liczbę wystąpień
{
cout << wyrazenie[ i] << counter;
counter= 2 ;
}
if ( wyrazenie[ i- 1 ] ! = wyrazenie[ i] && wyrazenie[ i+ 1 ] ! = wyrazenie[ i] ) cout << wyrazenie[ i] ; //pojedyncze litery wyświetlaj bez zmian
if ( wyrazenie[ i- 1 ] == wyrazenie[ i] && wyrazenie[ i- 2 ] ! = wyrazenie[ i] && wyrazenie[ i+ 1 ] ! = wyrazenie[ i] ) //sekwencje 2 takich samych liter wyświetlaj bez zmian
cout << wyrazenie[ i] << wyrazenie[ i] ;
}
}
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgogCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG1haW4oKQp7CmludCBDLGZsYWc9MDsKY2luPj5DOwppZigxPD1DJiZDPD01MCkKewpmb3IgKGludCBqPTE7IGo8PUM7IGorKykKewpzdHJpbmcgd3lyYXplbmllOwpjaW4+Pnd5cmF6ZW5pZTsKaW50IGNvdW50ZXI9MjsKZmxhZz0wOwppZiAod3lyYXplbmllLmxlbmd0aCgpPjIwMCkgZmxhZz0xOwogCmZvciAoaW50IGs9MDsgazw9d3lyYXplbmllLmxlbmd0aCgpLTE7IGsrKykKewppZiAod3lyYXplbmllW2tdPj02NSYmd3lyYXplbmllW2tdPD05MCYmd3lyYXplbmllW2tdKSBmbGFnPTA7CmVsc2Uge2ZsYWc9MTsgYnJlYWs7fQp9CiAKaWYoZmxhZz09MCkKewpmb3IoaW50IGk9MDsgaTw9d3lyYXplbmllLmxlbmd0aCgpOyBpKyspCnsKaWYgKHd5cmF6ZW5pZVtpLTJdPT13eXJhemVuaWVbaV0mJnd5cmF6ZW5pZVtpLTFdPT13eXJhemVuaWVbaV0pIGNvdW50ZXIrPTE7Ly9qZcWbbGkgem5hamR6aWVzeiBzZWt3ZW5jasSZIHdpxJljZWogbmnFvCAyIHRha2ljaCBzYW15Y2ggbGl0ZXIgeiByesSZZHUsIHphY3puaWogbGljennEhyB0ZSBsaXRlcnkKIAppZiAoY291bnRlcj49MyYmd3lyYXplbmllW2krMV0hPXd5cmF6ZW5pZVtpXSkvL25hIGtvxYRjdSBzZWt3ZW5jamkgd2nEmWNlaiBuacW8IDIgdGFraWNoIHNhbXljaCBsaXRlciB3ecWbd2lldGwgcG9qZWR5bmN6xIUgbGl0ZXLEmSBvcmF6IGxpY3pixJkgd3lzdMSFcGllxYQKewpjb3V0PDx3eXJhemVuaWVbaV08PGNvdW50ZXI7CmNvdW50ZXI9MjsKfQppZiAod3lyYXplbmllW2ktMV0hPXd5cmF6ZW5pZVtpXSYmd3lyYXplbmllW2krMV0hPXd5cmF6ZW5pZVtpXSkgY291dDw8d3lyYXplbmllW2ldOy8vcG9qZWR5bmN6ZSBsaXRlcnkgd3nFm3dpZXRsYWogYmV6IHptaWFuCmlmICh3eXJhemVuaWVbaS0xXT09d3lyYXplbmllW2ldJiZ3eXJhemVuaWVbaS0yXSE9d3lyYXplbmllW2ldJiZ3eXJhemVuaWVbaSsxXSE9d3lyYXplbmllW2ldKS8vc2Vrd2VuY2plIDIgdGFraWNoIHNhbXljaCBsaXRlciB3ecWbd2lldGxhaiBiZXogem1pYW4KY291dDw8d3lyYXplbmllW2ldPDx3eXJhemVuaWVbaV07Cn0KfQogCn0KfQp9