#include<stdio.h>
#include<string.h>
int wstr(char *s,int len)
{
int p[26]={0},q[26]={0},r[26]={0},t[26]={0},*a,*b,*c,*d,*temp;
int max1=0,max2=0,max3=0,max4=0,i=0,j,totmax=0;
a=p,b=q,c=r,d=t;
for(;i<len && s[i]!='#';i++)
{
a[s[i]-97]++;
if(max1<a[s[i]-97])
max1=a[s[i]-97];
}
if(s[i]=='#')
i++;
for(;i<len && s[i]!='#';i++)
{
b[s[i]-97]++;
if(max2<b[s[i]-97])
max2=b[s[i]-97];
}
if(s[i]=='#')
i++;
for(;i<len && s[i]!='#';i++)
{
c[s[i]-97]++;
if(max3<c[s[i]-97])
max3=c[s[i]-97];
}
if(s[i]=='#')
i++;
while(i<len)
{
while(i<len && s[i]!='#')
{
d[s[i]-97]++;
if(max4<d[s[i]-97])
max4=d[s[i]-97];
i++;
}
if(totmax<(max1+max2+max3+max4) && max1 && max2 && max3 && max4)
totmax=max1+max2+max3+max4;
max1=max2;
max2=max3;
max3=max4;
max4=0;
temp=a;
a=b;
b=c;
c=d;
d=temp;
for(int j=0;j<26;j++)
d[j]=0;
if(s[i]=='#')
i++;
}
if(totmax)
return (totmax+3);
return 0;
}
int main()
{
int t,i=0,len;
scanf("%d",&t);
int res[t];
char *s,ch;
while(i<t)
{
len=0;
s=new char[10000];
scanf("%s",s);
len = strlen(s);
res[i]=wstr(s,len);
delete []s;
i++;
}
for(i=0;i<t;printf("%d\n",res[i]),i++);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RyaW5nLmg+CiAKaW50IHdzdHIoY2hhciAqcyxpbnQgbGVuKQp7CiAgICBpbnQgcFsyNl09ezB9LHFbMjZdPXswfSxyWzI2XT17MH0sdFsyNl09ezB9LCphLCpiLCpjLCpkLCp0ZW1wOwogICAgaW50IG1heDE9MCxtYXgyPTAsbWF4Mz0wLG1heDQ9MCxpPTAsaix0b3RtYXg9MDsKICAgIGE9cCxiPXEsYz1yLGQ9dDsKICAgIGZvcig7aTxsZW4gJiYgc1tpXSE9JyMnO2krKykKICAgICAgICB7CiAgICAgICAgICAgIGFbc1tpXS05N10rKzsKICAgICAgICAgICAgaWYobWF4MTxhW3NbaV0tOTddKQogICAgICAgICAgICBtYXgxPWFbc1tpXS05N107CiAgICAgICAgfQogICAgaWYoc1tpXT09JyMnKQogICAgaSsrOwogICAgZm9yKDtpPGxlbiAmJiBzW2ldIT0nIyc7aSsrKQogICAgICAgIHsKICAgICAgICAgICAgYltzW2ldLTk3XSsrOwogICAgICAgICAgICBpZihtYXgyPGJbc1tpXS05N10pCiAgICAgICAgICAgIG1heDI9YltzW2ldLTk3XTsKICAgICAgICB9CiAgICBpZihzW2ldPT0nIycpCiAgICBpKys7CiAgICBmb3IoO2k8bGVuICYmIHNbaV0hPScjJztpKyspCiAgICAgICAgewogICAgICAgICAgICBjW3NbaV0tOTddKys7CiAgICAgICAgICAgIGlmKG1heDM8Y1tzW2ldLTk3XSkKICAgICAgICAgICAgbWF4Mz1jW3NbaV0tOTddOwogICAgICAgIH0KICAgIGlmKHNbaV09PScjJykKICAgIGkrKzsKICAgIHdoaWxlKGk8bGVuKQogICAgewogICAgICAgIHdoaWxlKGk8bGVuICYmIHNbaV0hPScjJykKICAgICAgICB7CiAgICAgICAgICAgIGRbc1tpXS05N10rKzsKICAgICAgICAgICAgaWYobWF4NDxkW3NbaV0tOTddKQogICAgICAgICAgICBtYXg0PWRbc1tpXS05N107CiAgICAgICAgICAgIGkrKzsKICAgICAgICB9CiAgICAgICAgaWYodG90bWF4PChtYXgxK21heDIrbWF4MyttYXg0KSAmJiBtYXgxICYmIG1heDIgJiYgbWF4MyAmJiBtYXg0KQogICAgICAgICAgICB0b3RtYXg9bWF4MSttYXgyK21heDMrbWF4NDsKICAgICAgICBtYXgxPW1heDI7CiAgICAgICAgbWF4Mj1tYXgzOwogICAgICAgIG1heDM9bWF4NDsKICAgICAgICBtYXg0PTA7CiAgICAgICAgdGVtcD1hOwogICAgICAgIGE9YjsKICAgICAgICBiPWM7CiAgICAgICAgYz1kOwogICAgICAgIGQ9dGVtcDsKICAgICAgICBmb3IoaW50IGo9MDtqPDI2O2orKykKICAgICAgICBkW2pdPTA7CiAgICAgICAgaWYoc1tpXT09JyMnKQogICAgICAgIGkrKzsKICAgIH0KICAgIGlmKHRvdG1heCkKICAgIHJldHVybiAodG90bWF4KzMpOwogICAgcmV0dXJuIDA7Cn0KIAppbnQgbWFpbigpCnsKICAgIGludCB0LGk9MCxsZW47CiAgICBzY2FuZigiJWQiLCZ0KTsKICAgIGludCByZXNbdF07CiAgICBjaGFyICpzLGNoOwogICAgd2hpbGUoaTx0KQogICAgewogICAgICAgIGxlbj0wOwogICAgICAgIHM9bmV3IGNoYXJbMTAwMDBdOwogICAgICAgIHNjYW5mKCIlcyIscyk7CiAgICAgICAgbGVuID0gc3RybGVuKHMpOwogICAgICAgIHJlc1tpXT13c3RyKHMsbGVuKTsKICAgICAgICBkZWxldGUgW11zOwogICAgICAgIGkrKzsKICAgIH0KICAgIGZvcihpPTA7aTx0O3ByaW50ZigiJWRcbiIscmVzW2ldKSxpKyspOwogICAgcmV0dXJuIDA7Cn0=