#include <bits/stdc++.h>
using namespace std;
// 双指针的解法:i,j指针都从头开始依次递增,但当j超过三或四的时候,就需要对j的前三位或前四位进行判断了。
//2,如果前三位或者前四位符合了AAA或者AABB的形式,说明新插入的元素(A或者B)不能要,那么我们让j--,然后让i指针指向的下一个元素覆盖这个j位置的元素就可以满足要求了。
//3,i指针始终递增,依次处理原字符串中的每一个元素;j指针则负责保证j位置之前的部分是符合要求的。最后我们删掉原字符串中j位置之后的多余元素,就可以得到我们想要的符合要求的字符串了。
int main() 
{
    int n;
    cin>>n;
    string s;
    while(n--)
    {
        cin>>s;
        int j=0;
        for(int i=0;i<s.size();i++)
        {
            s[j++]=s[i];   //j还没用
            if(j>=3&&s[j-1]==s[j-2]&&s[j-2]==s[j-3]) 
                j--;
            if(j>=4&&s[j-1]==s[j-2]&&s[j-3]==s[j-4]) 
                j--;
        }
        s.erase(s.begin()+j,s.end());
        cout<<s<<endl;
    }
}