#include<bits/stdc++.h>
using namespace std;
int contains_not_more_one_odd_characters_that_are_in_final(int freq[], int freqfinal[])
{
int count=0;
for(int i=0;i<=9;i++)
{
if(freq[i]==freqfinal[i]&&freq[i]%2==1)
count++;
}
//cout<<" ct "<<count<<endl;
if(count>0)
return 0;
return 1;
}
int findlen(int freq[])
{
int ct=0;
for(int i=0;i<=9;i++)
if(freq[i]%2==1)
ct++;
if(ct>0)
return 0;
int val =0;
for(int i=0;i<=9;i++)
val+= freq[i];
return val;
}
int main()
{
int t;
scanf("%d",&t);
while(t-->0)
{
string s;
cin>>s;
int freq[10],freqfinal[10];
for(int i=0;i<=9;i++)
{
freq[i] =0;
freqfinal[i] =0;
}
for(int i=0;i<s.size();i++)
freqfinal[s[i]-'0']++;
int i=0,j=1;
freq[s[i]-'0']++;
int max_length=0;
while(j<s.size())
{
if(contains_not_more_one_odd_characters_that_are_in_final(freq,freqfinal))
{
freq[s[j]-'0']++;
max_length = max(max_length,findlen(freq));
j++;
}
else
{
freq[s[i]-'0']--;
i++;
}
}
int val=0;
max_length = max(max_length,findlen(freq));
cout<<max_length<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGNvbnRhaW5zX25vdF9tb3JlX29uZV9vZGRfY2hhcmFjdGVyc190aGF0X2FyZV9pbl9maW5hbChpbnQgZnJlcVtdLCBpbnQgZnJlcWZpbmFsW10pCnsKCWludCBjb3VudD0wOwoJZm9yKGludCBpPTA7aTw9OTtpKyspCgl7CgkJaWYoZnJlcVtpXT09ZnJlcWZpbmFsW2ldJiZmcmVxW2ldJTI9PTEpCgkJCWNvdW50Kys7Cgl9CgkvL2NvdXQ8PCIgY3QgIjw8Y291bnQ8PGVuZGw7CglpZihjb3VudD4wKQoJCXJldHVybiAwOwoJcmV0dXJuIDE7Cn0KaW50IGZpbmRsZW4oaW50IGZyZXFbXSkKewoJaW50IGN0PTA7Cglmb3IoaW50IGk9MDtpPD05O2krKykKCQlpZihmcmVxW2ldJTI9PTEpCgkJCWN0Kys7CglpZihjdD4wKQoJCXJldHVybiAwOwoJaW50IHZhbCA9MDsKCWZvcihpbnQgaT0wO2k8PTk7aSsrKQoJCXZhbCs9IGZyZXFbaV07CglyZXR1cm4gdmFsOwp9CmludCBtYWluKCkKewoJaW50IHQ7CglzY2FuZigiJWQiLCZ0KTsKCXdoaWxlKHQtLT4wKQoJewoJCXN0cmluZyBzOwoJCWNpbj4+czsKCQlpbnQgZnJlcVsxMF0sZnJlcWZpbmFsWzEwXTsKCQlmb3IoaW50IGk9MDtpPD05O2krKykKCQl7CgkJCWZyZXFbaV0gPTA7CgkJCWZyZXFmaW5hbFtpXSA9MDsKCQl9CgkJZm9yKGludCBpPTA7aTxzLnNpemUoKTtpKyspCgkJCWZyZXFmaW5hbFtzW2ldLScwJ10rKzsKCQlpbnQgaT0wLGo9MTsKCQlmcmVxW3NbaV0tJzAnXSsrOwoJCWludCBtYXhfbGVuZ3RoPTA7CgkJd2hpbGUoajxzLnNpemUoKSkKCQl7CgkJCWlmKGNvbnRhaW5zX25vdF9tb3JlX29uZV9vZGRfY2hhcmFjdGVyc190aGF0X2FyZV9pbl9maW5hbChmcmVxLGZyZXFmaW5hbCkpCgkJCXsKCQkJCWZyZXFbc1tqXS0nMCddKys7CgkJCQltYXhfbGVuZ3RoID0gbWF4KG1heF9sZW5ndGgsZmluZGxlbihmcmVxKSk7CgkJCQlqKys7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkKCQkJCWZyZXFbc1tpXS0nMCddLS07CgkJCQlpKys7CgoJCQl9CgkJCQoJCQkKCQl9CgkJaW50IHZhbD0wOwoJCW1heF9sZW5ndGggPSBtYXgobWF4X2xlbmd0aCxmaW5kbGVuKGZyZXEpKTsKCQljb3V0PDxtYXhfbGVuZ3RoPDxlbmRsOwoJfQp9