#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <set>
#include <map>
#include <stack>
#include <list>
#include <vector>
#include <stack>
#include <queue>
#include <cmath>
#define ll long long
#define qc ios::sync_with_stdio(false); cin.tie(0);cout.tie(0)
using namespace std;
const int MAXN = 2e5 + 7;
const int inf = 0x3f3f3f3f;
const ll INF = 0x3f3f3f3f3f3f3f3f;
string s;
int vis[107];
int cnt, t, n;
void solve()
{
	memset(vis, 0, sizeof(vis));
		int flag = 0;
		for(int i = 1; i < n; i++)
		{
			if(s[i] != s[i-1])
			{
				flag = 1;
				break;
			}
		}
		if(!flag)
		{
			cout << "YES\n";
			return ;
		}
		int ls = -2;
		flag = 0;
		for(int i = 0; i < n; i++)
		{
			if(s[i] == '0')
			{
				if(i - ls > 1)
				{
					ls = i;
				}
				else
				{
					flag = 1;
					break;
				}
			}
		}
		
		if(!flag)
		{
			cout << "YES\n";
			return ;
		}
		for(int i = 0; i < n; i++)
		{
			if(s[i] == '0')
			{
				vis[cnt++] = i;
			}
		}
		for(int i = 0; i < cnt; i++)
		{
			ls = -2;
			int idx = vis[i];
			// cout << idx << endl;
			flag = 0;
			for(int j = 0; j < n; j++)
			{
				if(j < idx)
				{
					if(s[j] == '1')
					{
						if(j - ls > 1)
						{
							ls = j;
						}
						else
						{
							flag = 1;
							break;
						}
					}
				}
				else if(j > idx)
				{
					if(s[j] == '0')
					{
						if(j - ls > 1)
							ls = j;
						else
						{
							flag = 1;
							break;
						}
					}
				}
			}
			if(!flag)
			{
				cout << "YES\n";
				return ;
			}
		}
		cout << "NO\n";
}
int main()
{
	// freopen("in.txt", "r", stdin);
	qc;
	cin >> t;
	while(t--)
	{
		cnt = 0;
		cin >> s;
		n = s.size();
		solve();
		
	}
	return 0;
}