#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long int t;
  cin >> t;
  while (t--) {
    string s;
    cin >> s;
    string s1 = s;
    long long int i;
    for (i = 0; i < 10; i++) {
      if (i % 2 == 0) {
        if (s[i] == '?') {
          s[i] = '1';
        }
      } else {
        if (s[i] == '?') {
          s[i] = '0';
        }
      }
    }
    for (i = 0; i < 10; i++) {
      if (i % 2 == 0) {
        if (s1[i] == '?') {
          s1[i] = '0';
        }
      } else {
        if (s1[i] == '?') {
          s1[i] = '1';
        }
      }
    }
    long long int ans1 = 0, ans2 = 0, u = 0, v = 0, k1 = 5, k2 = 5;
    for (i = 0; i < 10; i++) {
      if (i % 2 == 0) {
        if (s[i] == '1') {
          u = u + 1;
        }
        k1--;
        if (u - v > k2) {
          break;
        }
        if (v - u > k1) {
          break;
        }
        if (i == 8) {
          if (v > u) {
            break;
          }
        }
      } else if (i % 2 == 1) {
        if (s[i] == '1') {
          v = v + 1;
        }
        k2--;
        if (v - u > k1) {
          break;
        }
        if (u - v > k2) {
          break;
        }
      }
    }
    if (i == 10) {
      ans1 = 10;
    } else {
      ans1 = i + 1;
    }
    u = 0, v = 0, k1 = 5, k2 = 5;
    for (i = 0; i < 10; i++) {
      if (i % 2 == 0) {
        if (s1[i] == '1') {
          u = u + 1;
        }
        k1--;
        if (u - v > k2) {
          break;
        }
        if (v - u > k1) {
          break;
        }
        if (i == 8) {
          if (v > u) {
            break;
          }
        }
      } else if (i % 2 == 1) {
        if (s1[i] == '1') {
          v = v + 1;
        }
        k2--;
        if (v - u > k1) {
          break;
        }
        if (u - v > k2) {
          break;
        }
      }
    }
    if (i == 10) {
      ans2 = 10;
    } else {
      ans2 = i + 1;
    }
    cout << min(ans1, ans2) << endl;
  }
}
