#include <iostream>
#include <string>
std::string new_word(std::string & word)
{
using namespace std;
string new_word;
int pos = 0;
while(pos < word.size())
{
int size = pos;
if(word[pos] != word[size+1])
{
new_word.append(word.begin()+pos,word.begin()+pos+1);
pos++;
continue;
}
else
{
while(word[pos] == word[size+1])
size++;
new_word.append(word.begin()+pos,word.begin()+pos+1);
new_word.append(to_string(size-pos+1));
pos = size+1;
}
}
return new_word;
}
int main(int argc, const char * argv[]) {
using namespace std;
int n;
cin >> n;
while(n != 0)
{
string word;
cin >> word;
cout << new_word(word) << endl;
n--;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKc3RkOjpzdHJpbmcgbmV3X3dvcmQoc3RkOjpzdHJpbmcgJiB3b3JkKQp7CiAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOwogICAgCiAgICBzdHJpbmcgbmV3X3dvcmQ7CiAgICAKICAgIGludCBwb3MgPSAwOwogICAgd2hpbGUocG9zIDwgd29yZC5zaXplKCkpCiAgICB7CiAgICAgICAgaW50IHNpemUgPSBwb3M7CiAgICAgICAgaWYod29yZFtwb3NdICE9IHdvcmRbc2l6ZSsxXSkKICAgICAgICB7CiAgICAgICAgICAgIG5ld193b3JkLmFwcGVuZCh3b3JkLmJlZ2luKCkrcG9zLHdvcmQuYmVnaW4oKStwb3MrMSk7CiAgICAgICAgICAgIHBvcysrOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgd2hpbGUod29yZFtwb3NdID09IHdvcmRbc2l6ZSsxXSkKICAgICAgICAgICAgICAgIHNpemUrKzsKICAgICAgICAgICAgCiAgICAgICAgICAgIG5ld193b3JkLmFwcGVuZCh3b3JkLmJlZ2luKCkrcG9zLHdvcmQuYmVnaW4oKStwb3MrMSk7CiAgICAgICAgICAgIG5ld193b3JkLmFwcGVuZCh0b19zdHJpbmcoc2l6ZS1wb3MrMSkpOwogICAgICAgICAgICAKICAgICAgICAgICAgcG9zID0gc2l6ZSsxOwogICAgICAgIH0KICAgIH0KICAgIAogICAgcmV0dXJuIG5ld193b3JkOwp9CgppbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqIGFyZ3ZbXSkgewogICAgCiAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOwogICAgCiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgCiAgICB3aGlsZShuICE9IDApCiAgICB7CiAgICAgICAgc3RyaW5nIHdvcmQ7CiAgICAgICAgY2luID4+IHdvcmQ7CiAgICAgICAgCiAgICAgICAgY291dCA8PCBuZXdfd29yZCh3b3JkKSA8PCBlbmRsOwogICAgICAgIG4tLTsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==