#include <algorithm>
#include <cctype>
#include <iostream>
#include <string>
#include <vector>

void rozwiaz_test() {
	std::string oryginalny_tekst;
	std::getline(std::cin, oryginalny_tekst);
	std::string uproszczony_tekst = "(*";
	for (char znak : oryginalny_tekst) {
		if (std::isalpha(znak)) {
			uproszczony_tekst += std::tolower(znak);
			uproszczony_tekst += "*";		// dokładam "*", żeby szukać nieparzystego palindromu
		}
	}
	uproszczony_tekst += ")"; // wartownik
	int dlugosc = uproszczony_tekst.size();
	int wynik = 0;
	for (int i = 0; i < dlugosc / 2; i++) { // szukam palindromu o środku w  dlugosc/2 +/- i
		int centr = dlugosc/2 - i;
		int rad = 1;
		while (uproszczony_tekst[centr + rad] == uproszczony_tekst[centr - rad])
			rad ++;
		if (rad > wynik)
			wynik = rad;
			if (centr - wynik == 0)
				break;
		centr = dlugosc/2 + i;
		rad = 1;
		while (uproszczony_tekst[centr + rad] == uproszczony_tekst[centr - rad])
			rad ++;
		if (rad > wynik)
			wynik = rad;
		if (centr + wynik >= dlugosc - 2) {// dłuższego palindromu już nie znajdę
			break;
		}
	}
	std::cout << wynik-1 << '\n';
}

int main() {
	int liczba_testow;
	std::cin >> liczba_testow;
	std::ws(std::cin);
	for (int i = 0; i < liczba_testow; i++) {
		rozwiaz_test();
	}
	return 0;
}
