#include<iostream>
#include<stdio.h>
#include<string>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
const int Length =(int)2*1e6;
bool is_subsequence(string,string);
bool isDoubleString(string);
int main(){
int D,tempD,i,c;
bool output[Length/2];
cin>>D;
getchar();
tempD=0;
while(D>0){
char str[Length];
for(i=0;(c=getchar())!='\n';i++)str[i]=c;
str[i]='\0';
D--;
if(isDoubleString(string(str))){
output[tempD++]=true;
}else{
output[tempD++]=false;
}
}
i=0;
while(tempD>0){
if(output[i++]){
cout<<"true"<<endl;
}else{
cout<<"false"<<endl;
}
tempD--;
}
return 0;
}
bool isDoubleString(string input){
int n=input.size();
if(n%2==0){
return is_subsequence(input.substr(0,(n/2)),input.substr(n/2));
}else if(n>1){
return is_subsequence(input.substr(0,(n/2)+1),input.substr((n/2)+1))||is_subsequence(input.substr(0,n/2),input.substr(n/2));
}
else{
return false;
}
}
bool is_subsequence(string a,string b){
int i=0;int j=0;
if(a.size()>b.size()){
for(;i<a.size()&&j<b.size();++i){
if(a[i]==b[j]){
j++;
}
}
return (j==b.size());
}else{
for(;i<b.size()&&j<a.size();++i){
if(a[j]==b[i]){
j++;
}
}
return (j==a.size());
}
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHN0ZGlvLmg+CiNpbmNsdWRlPHN0cmluZz4KI2luY2x1ZGU8c3RyaW5nLmg+CiNpbmNsdWRlPGFsZ29yaXRobT4KI2luY2x1ZGU8bWF0aC5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgTGVuZ3RoID0oaW50KTIqMWU2Owpib29sIGlzX3N1YnNlcXVlbmNlKHN0cmluZyxzdHJpbmcpOwpib29sIGlzRG91YmxlU3RyaW5nKHN0cmluZyk7CmludCBtYWluKCl7CiAgICBpbnQgRCx0ZW1wRCxpLGM7CiAgICBib29sIG91dHB1dFtMZW5ndGgvMl07CiAgICBjaW4+PkQ7CiAgICBnZXRjaGFyKCk7CiAgICB0ZW1wRD0wOwogICAgd2hpbGUoRD4wKXsKCiAgICBjaGFyIHN0cltMZW5ndGhdOwogICAgZm9yKGk9MDsoYz1nZXRjaGFyKCkpIT0nXG4nO2krKylzdHJbaV09YzsKICAgIHN0cltpXT0nXDAnOwogICAgRC0tOwogICAgaWYoaXNEb3VibGVTdHJpbmcoc3RyaW5nKHN0cikpKXsKICAgICAgICBvdXRwdXRbdGVtcEQrK109dHJ1ZTsKICAgIH1lbHNlewogICAgICAgIG91dHB1dFt0ZW1wRCsrXT1mYWxzZTsKICAgIH0KICAgIH0KICAgIGk9MDsKICAgIHdoaWxlKHRlbXBEPjApewogICAgICAgIGlmKG91dHB1dFtpKytdKXsKICAgICAgICAgICAgY291dDw8InRydWUiPDxlbmRsOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBjb3V0PDwiZmFsc2UiPDxlbmRsOwogICAgICAgIH0KICAgICAgICAKICAgICAgICB0ZW1wRC0tOwogICAgfQogICAgcmV0dXJuIDA7Cn0KYm9vbCBpc0RvdWJsZVN0cmluZyhzdHJpbmcgaW5wdXQpewogICAgaW50IG49aW5wdXQuc2l6ZSgpOwogICAgaWYobiUyPT0wKXsKICAgICAgICByZXR1cm4gaXNfc3Vic2VxdWVuY2UoaW5wdXQuc3Vic3RyKDAsKG4vMikpLGlucHV0LnN1YnN0cihuLzIpKTsKICAgIH1lbHNlIGlmKG4+MSl7CiAgICAgICAgICAgIHJldHVybiBpc19zdWJzZXF1ZW5jZShpbnB1dC5zdWJzdHIoMCwobi8yKSsxKSxpbnB1dC5zdWJzdHIoKG4vMikrMSkpfHxpc19zdWJzZXF1ZW5jZShpbnB1dC5zdWJzdHIoMCxuLzIpLGlucHV0LnN1YnN0cihuLzIpKTsKICAgICAgICB9CiAgICBlbHNlewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgCn0KYm9vbCBpc19zdWJzZXF1ZW5jZShzdHJpbmcgYSxzdHJpbmcgYil7CiAgICBpbnQgaT0wO2ludCBqPTA7CiAgICBpZihhLnNpemUoKT5iLnNpemUoKSl7CiAgICAgICAgZm9yKDtpPGEuc2l6ZSgpJiZqPGIuc2l6ZSgpOysraSl7CiAgICAgICAgICAgIGlmKGFbaV09PWJbal0pewogICAgICAgICAgICAgICAgaisrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAoaj09Yi5zaXplKCkpOwogICAgfWVsc2V7CiAgICAgICAgZm9yKDtpPGIuc2l6ZSgpJiZqPGEuc2l6ZSgpOysraSl7CiAgICAgICAgICAgIGlmKGFbal09PWJbaV0pewogICAgICAgICAgICAgICAgaisrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAoaj09YS5zaXplKCkpOwogICAgfQp9Cg==