#ifndef ONPC
  #define _FORTIFY_SOURCE 0
  #pragma GCC optimize("Ofast")
  #pragma GCC optimize("no-stack-protector")
  #pragma GCC optimize("unroll-loops")
  #pragma GCC target("sse,sse2,sse3,ssse3,popcnt,abm,mmx,tune=native")
  #pragma GCC optimize("fast-math")
#endif

#include <bits/stdc++.h>

#define mp make_pair
#define eb emplace_back
#define x first
#define y second

template <typename T>
bool chmax(T &a, const T &b) {
    if (a < b) {
      a = b;
        return true;
    }
    return false;
}

template <typename T>
bool chmin(T &a, const T &b) {
    if (a > b) {
      a = b;
      return true;
    }
    return false;
}

using namespace std;

typedef long long ll;
typedef long double ld;
typedef pair<int, int> pt;

#ifdef ONPC
mt19937 rnd(228);
#else
mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());
#endif

const ll MOD = 1000000007LL;
const ll MOD2 = 998244353LL;
const ld PI = acos(-1);

#ifdef ONPC
const int MAXN = 100;
#else
const int MAXN = 300100;
#endif
//#define int long long
const int INF = 1e9;

void solve(){
  string s;
  cin >> s;
  int n = s.size();

  vector<int> dp0(n + 1, INF), dp1(n + 1, INF);
  dp0[0] = -54, dp1[0] = -54;

  for (int i = 0; i < n; i++){
    if (s[i] == '1'){
      dp1[i + 1] = dp1[i];
      if (dp0[i] < i - 1) {
        dp0[i + 1] = i;
        chmin(dp1[i + 1], i);
      }
    }
    if (s[i] == '0'){
      dp0[i + 1] = dp0[i];
      if (dp1[i] < i - 1) dp1[i + 1] = i;
    }
  }

  if (dp1[n] < n || dp0[n] < n) cout << "Yes\n";
  else cout << "No\n";
}

/*
#ifndef ONPC
#define FILEIO
#endif
*/
signed main()
{
    #ifdef FILEIO
      freopen("input.txt", "r", stdin);
      freopen("output.txt", "w", stdout);
    #endif

    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int Q;
    cin >> Q;
    while (Q--)
      solve();

    return 0;
}
