#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define pb push_back
#define mp make_pair
#define vi vector<int>
#define ii pair<int,int>
#define vii vector<ii>
#define REP(i,a,b) for(int i = a;i <= b;++i)
#define NREP(i,a,b) for(int i = a;i>=b;--i)
#define boost ios_base::sync_with_stdio(0)
#define mset(a) memset(a,0,sizeof(a))
#define all(a) a.begin(),a.end()
#define F first
#define S second
#define awesome main()
ll gcd (ll a, ll b) {return ( a ? gcd(b%a, a) : b );}
ll power(ll a, ll n) {ll p = 1;while (n > 0) {if(n%2) {p = p * a;} n >>= 1; a *= a;} return p;}
ll power(ll a, ll n, ll mod) {ll p = 1;while (n > 0) {if(n%2) {p = p * a; p %= mod;} n >>= 1; a *= a; a %= mod;} return p % mod;}
const int INF = 0x3f3f3f3f, MOD = 1e9 + 7;
int LCS(string a,string b){
int la=a.size(),lb=b.size();
int dp[la+1][lb+1]={0};
REP(i,1,la) dp[i][0]=0;
REP(i,1,lb) dp[0][i]=0;
REP(i,1,la){
REP(j,1,lb){
if(a[i-1]==b[j-1]) dp[i][j]=dp[i-1][j-1]+1;
else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
}
}
return dp[la][lb];
}
int main() {
// your code goes here
int t;
cin>>t;
while(t--){
string s;
cin>>s;
int n=s.size();
int mn=INF;
if(n==1){cout<<0<<endl;continue;}
REP(i,0,n-1){
string r=s;
r=r.substr(i,n-i);
reverse(all(r));
mn=min(n-2*LCS(s.substr(0,i),r) ,mn);
}
REP(i,0,n-2){
string r=s;
r=r.substr(i+1,n-1-i);
reverse(all(r));
mn=min(n-1-2*LCS(s.substr(0,i),r ),mn);
}
cout<<mn<<endl;
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAojZGVmaW5lIGxsIGxvbmcgbG9uZyBpbnQKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSB2aSB2ZWN0b3I8aW50PgojZGVmaW5lIGlpIHBhaXI8aW50LGludD4KI2RlZmluZSB2aWkgdmVjdG9yPGlpPgojZGVmaW5lIFJFUChpLGEsYikgZm9yKGludCBpID0gYTtpIDw9IGI7KytpKQojZGVmaW5lIE5SRVAoaSxhLGIpIGZvcihpbnQgaSA9IGE7aT49YjstLWkpCiNkZWZpbmUgYm9vc3QgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKQojZGVmaW5lIG1zZXQoYSkgbWVtc2V0KGEsMCxzaXplb2YoYSkpCiNkZWZpbmUgYWxsKGEpIGEuYmVnaW4oKSxhLmVuZCgpCiNkZWZpbmUgRiBmaXJzdAojZGVmaW5lIFMgc2Vjb25kCiNkZWZpbmUgYXdlc29tZSBtYWluKCkKbGwgZ2NkIChsbCBhLCBsbCBiKSB7cmV0dXJuICggYSA/IGdjZChiJWEsIGEpIDogYiApO30KbGwgcG93ZXIobGwgYSwgbGwgbikge2xsIHAgPSAxO3doaWxlIChuID4gMCkge2lmKG4lMikge3AgPSBwICogYTt9IG4gPj49IDE7IGEgKj0gYTt9IHJldHVybiBwO30KbGwgcG93ZXIobGwgYSwgbGwgbiwgbGwgbW9kKSB7bGwgcCA9IDE7d2hpbGUgKG4gPiAwKSB7aWYobiUyKSB7cCA9IHAgKiBhOyBwICU9IG1vZDt9IG4gPj49IDE7IGEgKj0gYTsgYSAlPSBtb2Q7fSByZXR1cm4gcCAlIG1vZDt9CiAKY29uc3QgaW50IElORiA9IDB4M2YzZjNmM2YsIE1PRCA9IDFlOSArIDc7CgppbnQgTENTKHN0cmluZyBhLHN0cmluZyBiKXsKCWludCBsYT1hLnNpemUoKSxsYj1iLnNpemUoKTsKCWludCBkcFtsYSsxXVtsYisxXT17MH07CglSRVAoaSwxLGxhKQlkcFtpXVswXT0wOwoJUkVQKGksMSxsYikgZHBbMF1baV09MDsKCQoJUkVQKGksMSxsYSl7CgkJUkVQKGosMSxsYil7CgkJCWlmKGFbaS0xXT09YltqLTFdKSBkcFtpXVtqXT1kcFtpLTFdW2otMV0rMTsKCQkJZWxzZSBkcFtpXVtqXT1tYXgoZHBbaS0xXVtqXSxkcFtpXVtqLTFdKTsKCQl9Cgl9CglyZXR1cm4gZHBbbGFdW2xiXTsKfQoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglpbnQgdDsKCWNpbj4+dDsKCXdoaWxlKHQtLSl7CgkJc3RyaW5nIHM7CgkJY2luPj5zOwoJCWludCBuPXMuc2l6ZSgpOwoJCWludCBtbj1JTkY7CgkJaWYobj09MSl7Y291dDw8MDw8ZW5kbDtjb250aW51ZTt9CgkJCgkJUkVQKGksMCxuLTEpewoJCQlzdHJpbmcgcj1zOwoJCQlyPXIuc3Vic3RyKGksbi1pKTsKCQkJcmV2ZXJzZShhbGwocikpOwoJCQltbj1taW4obi0yKkxDUyhzLnN1YnN0cigwLGkpLHIpICxtbik7CgkJfQoJCVJFUChpLDAsbi0yKXsKCQkJc3RyaW5nIHI9czsKCQkJcj1yLnN1YnN0cihpKzEsbi0xLWkpOwoJCQlyZXZlcnNlKGFsbChyKSk7CgkJCW1uPW1pbihuLTEtMipMQ1Mocy5zdWJzdHIoMCxpKSxyICksbW4pOwoJCX0KCQljb3V0PDxtbjw8ZW5kbDsKCX0KCXJldHVybiAwOwp9