/*!enjoy karo yaar!*/
//CF,CC,AtC,SPOJ: hp1999
//HE: hemant269
//HR: hemant2132
#include<bits/stdc++.h>
using namespace std;
#define int long long int
#define fast() ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define all(x) (x).begin(),(x).end()
#define rz(x) resize(x)
#define asn(x,y) assign(x,y)
#define mem(a,b) memset(a,b,sizeof(a))
#define sz(x) ((int)(x.size()))
#define eb emplace_back
#define pb push_back
#define pf push_front
#define pob pop_back
#define pof pop_front
#define ins insert
#define vi vector<int>
#define pii pair<int,int>
#define mii map<int,int>
#define F first
#define S second
#define makep make_pair
#define maket make_tuple
#define remax(a,b) a=max(a,b)
#define remin(a,b) a=min(a,b)
#define bitcount(x) __builtin_popcountll(x)
#define iceil(n,x) (((n)+(x)-1)/(x))
#define gcd(a,b) (__gcd((a),(b)))
#define lcm(a,b) (((a)*(b))/gcd((a),(b)))
#define dbug(x) cout<<#x<<": "<<(x)<<"\n"
#define flush fflush(stdout)
#define show(x) for(auto zz:x)cout<<zz<<" ";cout<<"\n";
#define show2(x) for(auto zz:x)cout<<zz.F<<" "<<zz.S<<"\n";
typedef unsigned long long ull;
typedef long long ll;
typedef long double ld;
const ld pi=acos(-1);
const ll inf=1e18,M=1e9+7;
const int N=1e2+5;
int dp[N][N][N];
string s;
int r1,r2;
int rec(int l1,int l2)
{
if(l1>r1 || l2>r2)
return 0;
int& res=dp[l1][r1][l2];
if(res!=-1)
return res;
res=max({rec(l1+1,l2),rec(l1,l2+1),rec(l1+1,l2+1)+((s[l1]==s[l2])?2:0)});
return res;
}
void solve()
{
mem(dp,-1);
cin>>s;
r2=sz(s)-1;
int ans=0;
for(int i=0;i+1<=r2;++i)
{
r1=i;
ans=max(ans,rec(0,i+1));
}
cout<<ans;
}
int32_t main()
{
fast();
int t=1;
cin>>t;
for(int z=1;z<=t;++z)
{
solve();
cout<<"\n";
}
return 0;
}
LyohZW5qb3kga2FybyB5YWFyISovCgovL0NGLENDLEF0QyxTUE9KOiBocDE5OTkKLy9IRTogaGVtYW50MjY5Ci8vSFI6IGhlbWFudDIxMzIKCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lICAgICBpbnQgICAgICAgICAgICAgbG9uZyBsb25nIGludAojZGVmaW5lICAgICBmYXN0KCkgICAgICAgICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKI2RlZmluZSAgICAgYWxsKHgpICAgICAgICAgICh4KS5iZWdpbigpLCh4KS5lbmQoKQojZGVmaW5lICAgICByeih4KSAgICAgICAgICAgcmVzaXplKHgpCiNkZWZpbmUgICAgIGFzbih4LHkpICAgICAgICBhc3NpZ24oeCx5KQojZGVmaW5lICAgICBtZW0oYSxiKSAgICAgICAgbWVtc2V0KGEsYixzaXplb2YoYSkpCiNkZWZpbmUgICAgIHN6KHgpICAgICAgICAgICAoKGludCkoeC5zaXplKCkpKQojZGVmaW5lICAgICBlYiAgICAgICAgICAgICAgZW1wbGFjZV9iYWNrCiNkZWZpbmUgICAgIHBiICAgICAgICAgICAgICBwdXNoX2JhY2sKI2RlZmluZSAgICAgcGYgICAgICAgICAgICAgIHB1c2hfZnJvbnQKI2RlZmluZSAgICAgcG9iICAgICAgICAgICAgIHBvcF9iYWNrCiNkZWZpbmUgICAgIHBvZiAgICAgICAgICAgICBwb3BfZnJvbnQKI2RlZmluZSAgICAgaW5zICAgICAgICAgICAgIGluc2VydAojZGVmaW5lICAgICB2aSAgICAgICAgICAgICAgdmVjdG9yPGludD4KI2RlZmluZSAgICAgcGlpICAgICAgICAgICAgIHBhaXI8aW50LGludD4KI2RlZmluZSAgICAgbWlpICAgICAgICAgICAgIG1hcDxpbnQsaW50PgojZGVmaW5lICAgICBGICAgICAgICAgICAgICAgZmlyc3QKI2RlZmluZSAgICAgUyAgICAgICAgICAgICAgIHNlY29uZAojZGVmaW5lICAgICBtYWtlcCAgICAgICAgICAgbWFrZV9wYWlyCiNkZWZpbmUgICAgIG1ha2V0ICAgICAgICAgICBtYWtlX3R1cGxlCiNkZWZpbmUgICAgIHJlbWF4KGEsYikgICAgICBhPW1heChhLGIpCiNkZWZpbmUgICAgIHJlbWluKGEsYikgICAgICBhPW1pbihhLGIpCiNkZWZpbmUgICAgIGJpdGNvdW50KHgpICAgICBfX2J1aWx0aW5fcG9wY291bnRsbCh4KQojZGVmaW5lICAgICBpY2VpbChuLHgpICAgICAgKCgobikrKHgpLTEpLyh4KSkKI2RlZmluZSAgICAgZ2NkKGEsYikgICAgICAgIChfX2djZCgoYSksKGIpKSkKI2RlZmluZSAgICAgbGNtKGEsYikgICAgICAgICgoKGEpKihiKSkvZ2NkKChhKSwoYikpKQojZGVmaW5lICAgICBkYnVnKHgpICAgICAgICAgY291dDw8I3g8PCI6ICI8PCh4KTw8IlxuIgojZGVmaW5lICAgICBmbHVzaCAgICAgICAgICAgZmZsdXNoKHN0ZG91dCkKI2RlZmluZSAgICAgc2hvdyh4KSAgICAgICAgIGZvcihhdXRvIHp6OngpY291dDw8eno8PCIgIjtjb3V0PDwiXG4iOwojZGVmaW5lICAgICBzaG93Mih4KSAgICAgICAgZm9yKGF1dG8geno6eCljb3V0PDx6ei5GPDwiICI8PHp6LlM8PCJcbiI7Cgp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyB1bGw7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwp0eXBlZGVmIGxvbmcgZG91YmxlIGxkOwoKY29uc3QgbGQgcGk9YWNvcygtMSk7CmNvbnN0IGxsIGluZj0xZTE4LE09MWU5Kzc7CmNvbnN0IGludCBOPTFlMis1OwoKaW50IGRwW05dW05dW05dOwoKc3RyaW5nIHM7CmludCByMSxyMjsKCmludCByZWMoaW50IGwxLGludCBsMikKewogICAgaWYobDE+cjEgfHwgbDI+cjIpCiAgICAgICAgcmV0dXJuIDA7CgogICAgaW50JiByZXM9ZHBbbDFdW3IxXVtsMl07CiAgICBpZihyZXMhPS0xKQogICAgICAgIHJldHVybiByZXM7CgogICAgcmVzPW1heCh7cmVjKGwxKzEsbDIpLHJlYyhsMSxsMisxKSxyZWMobDErMSxsMisxKSsoKHNbbDFdPT1zW2wyXSk/MjowKX0pOwoKICAgIHJldHVybiByZXM7Cn0KCnZvaWQgc29sdmUoKQp7CiAgICBtZW0oZHAsLTEpOwoKICAgIGNpbj4+czsKCiAgICByMj1zeihzKS0xOwoKICAgIGludCBhbnM9MDsKICAgIGZvcihpbnQgaT0wO2krMTw9cjI7KytpKQogICAgewogICAgICAgIHIxPWk7CiAgICAgICAgYW5zPW1heChhbnMscmVjKDAsaSsxKSk7CiAgICB9CgogICAgY291dDw8YW5zOwp9CgppbnQzMl90IG1haW4oKQp7CiAgICBmYXN0KCk7CgogICAgaW50IHQ9MTsKICAgIGNpbj4+dDsKICAgIGZvcihpbnQgej0xO3o8PXQ7Kyt6KQogICAgewogICAgICAgIHNvbHZlKCk7CiAgICAgICAgY291dDw8IlxuIjsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=