import java.util.Scanner ;
public class Main
{
static Scanner sc
= new Scanner
( System .
in ) ;
public static int getLiczba( )
{
return sc.nextInt ( ) ;
}
static Scanner sc2
= new Scanner
( System .
in ) ;
public static String getUserInput
( ) {
return sc2.nextLine ( ) ;
}
public static void getKompresuj
( String a
) {
char [ ] ciag = a.toCharArray ( ) ;
char poprzednia = ' ' ;
int licznik = 1 ;
for ( int i = 0 ; i < ciag.length ; i++ )
{
if ( ciag[ i] != poprzednia)
{
if ( licznik
> 2 ) System .
out .
print ( licznik
) ; if ( licznik
== 2 ) System .
out .
print ( poprzednia
) ; licznik = 1 ;
}
else {
licznik++;
}
poprzednia = ciag[ i] ;
}
if ( licznik
> 2 ) System .
out .
print ( licznik
) ; if ( licznik
== 2 ) System .
out .
println ( poprzednia
) ; }
public static void main
( String [ ] args
) {
int liczbaTestow = getLiczba( ) ;
for ( int i = 1 ; i <= liczbaTestow; i++ )
{
String ciagWejsciowy
= getUserInput
( ) ; getKompresuj( ciagWejsciowy) ;
}
}
}
aW1wb3J0IGphdmEudXRpbC5TY2FubmVyOwoKcHVibGljIGNsYXNzIE1haW4KewoKICAgIHN0YXRpYyBTY2FubmVyIHNjID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCiAgICBwdWJsaWMgc3RhdGljIGludCBnZXRMaWN6YmEoKQogICAgewogICAgICAgIHJldHVybiBzYy5uZXh0SW50KCk7CiAgICB9CgogICAgc3RhdGljIFNjYW5uZXIgc2MyID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCiAgICBwdWJsaWMgc3RhdGljIFN0cmluZyBnZXRVc2VySW5wdXQoKQogICAgewogICAgICAgIHJldHVybiBzYzIubmV4dExpbmUoKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgZ2V0S29tcHJlc3VqKFN0cmluZyBhKQogICAgewoKICAgICAgICBjaGFyW10gY2lhZyA9IGEudG9DaGFyQXJyYXkoKTsKICAgICAgICBjaGFyIHBvcHJ6ZWRuaWEgPSAnICc7CiAgICAgICAgaW50IGxpY3puaWsgPSAxOwoKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGNpYWcubGVuZ3RoOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBpZiAoY2lhZ1tpXSAhPSBwb3ByemVkbmlhKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiAobGljem5payA+IDIpIFN5c3RlbS5vdXQucHJpbnQobGljem5payk7CiAgICAgICAgICAgICAgICBpZiAobGljem5payA9PSAyKSBTeXN0ZW0ub3V0LnByaW50KHBvcHJ6ZWRuaWEpOwogICAgICAgICAgICAgICAgbGljem5payA9IDE7CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50KGNpYWdbaV0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgbGljem5paysrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHBvcHJ6ZWRuaWEgPSBjaWFnW2ldOwogICAgICAgIH0KICAgICAgICBpZiAobGljem5payA+IDIpIFN5c3RlbS5vdXQucHJpbnQobGljem5payk7CiAgICAgICAgaWYgKGxpY3puaWsgPT0gMikgU3lzdGVtLm91dC5wcmludGxuKHBvcHJ6ZWRuaWEpOwogICAgfQoKCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKQogICAgewoKICAgICAgICBpbnQgbGljemJhVGVzdG93ID0gZ2V0TGljemJhKCk7CiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbGljemJhVGVzdG93OyBpKyspCiAgICAgICAgewogICAgICAgICAgICBTdHJpbmcgY2lhZ1dlanNjaW93eSA9IGdldFVzZXJJbnB1dCgpOwogICAgICAgICAgICBnZXRLb21wcmVzdWooY2lhZ1dlanNjaW93eSk7CiAgICAgICAgfQogICAgfQp9