#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 10;
int T;
string str;
vector<int> pos[3];
int cal(int x) {
  for (int i = 0; i < 3; i++)
    if (pos[i].back() < x) return maxn;
  int ret = 0;
  for (int i = 0; i < 3; i++)
    ret = max(ret, *lower_bound(pos[i].begin(), pos[i].end(), x));
  return ret - x + 1;
}
int main() {
  for (cin >> T; T; T--) {
    cin >> str;
    for (int i = 0; i < 3; i++) pos[i].clear();
    for (int i = 0; i < str.length(); i++) {
      pos[str[i] - '1'].push_back(i);
    }
    if (pos[0].empty() || pos[1].empty() || pos[2].empty()) {
      puts("0");
      continue;
    }
    int ans = maxn;
    for (int i = 0; i < str.length(); i++) ans = min(ans, cal(i));
    cout << ans << endl;
  }
  return 0;
}
