#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;
}
}