#include using namespace std; const int nax = 1e6 + 5; const int INF = 1e9 + 5; char str[nax]; pair best[2][26]; int computeAns(int L1, int L2, int L3, int L4) { return abs(L1 - L2) + abs(L3 - L2) + abs(L4 - L3) + abs(L1 - L4); } void te() { for(int rep = 0; rep < 2; ++rep) { for(int i = 0; i < 26; ++i) best[rep][i] = {-1, INF}; scanf("%s", str); int n = strlen(str); for(int i = 0; i < n; ++i) { int ch = str[i] - 'A'; assert(0 <= ch && ch <= 25); int d1 = i, d2 = n - 1 - i; pair maybe = {min(d1, d2), max(d1, d2)}; if(maybe.second - maybe.first < best[rep][ch].second - best[rep][ch].first) best[rep][ch] = maybe; } } int ans = INF; for(int ch = 0; ch < 26; ++ch) ans = min(ans, computeAns(best[0][ch].first, best[1][ch].first, best[0][ch].second, best[1][ch].second)); assert(ans != INF); printf("%d\n", ans); } int main() { int T; scanf("%d", &T); while(T--) te(); }