#include <iostream>
using namespace std;
using ll = long long;

int main() {
    ll q;
    cin >> q;
    // 步骤1:处理多组测试用例(q组查询)
    while (q--) {
        string s;
        cin >> s; // 读取每组的二进制字符串

        // 步骤2:处理边界情况——字符串长度为1
        // 算法思想:长度为1时,不存在长度为2的连续子串,无法进行任何翻转操作
        // 此时字符串本身就满足"所有字符相同"的条件,直接返回"Yes"
        if (s.size() == 1) {
            cout << "Yes" << endl;
            continue;  // 跳过后续逻辑,处理下一组测试用例
        }

        // 步骤3:核心统计——统计字符串中'1'的总个数
        // 算法思想:基于"1的个数奇偶性不变"的核心规律,'1'的个数是后续判断的关键数据
        ll cnt1 = 0;
        for (auto t : s) {
            if (t == '1') {
                cnt1++;  // 遍历字符串,每遇到一个'1'就累加计数器
            }
        }

        // 步骤4:核心判断——基于奇偶性规律,判断两个目标状态是否有其一可行
        // 算法思想:抓住"初始1的个数奇偶性"与"目标状态奇偶性"匹配的核心
        // 条件1 (cnt1%2==0):判断能否转为全0(全0状态1的个数为0,是偶数,匹配初始1的个数偶数即可)
        // 条件2 (cnt1%2==s.size()%2):判断能否转为全1(全1状态1的个数为字符串长度s.size(),匹配两者奇偶性一致即可)
        // 两个条件满足其一,即说明可以实现"所有字符相同"的目标,返回"Yes"
        if (cnt1 % 2 == 0 || cnt1 % 2 == s.size() % 2) {
            cout << "Yes" << endl;
        }
        // 步骤5:返回不可行结果——两个目标状态均无法满足,返回"No"
        else {
            cout << "No" << endl;
        }
    }
    return 0;
}