#include <bits/stdc++.h>
using namespace std;

const int MAXQ = 1e5 + 5;

// int a[35], b[35];

int main() {
    int q;
    scanf("%d", &q);
    int u, v;
    for (int i = 1; i <= q; ++i) {
        scanf("%d %d", &u, &v);
        // if (u & (v - u) == (v - u)) {
        //     puts("YES");
        //     continue;
        // }
        if (u == v) {
            puts("YES");
            continue;
        }
        if (u > v) {
            puts("NO");
            continue;
        }

        // int cnt1 = 0, cnt2 = 0;
        // memset(a, 0, sizeof a);
        // memset(b, 0, sizeof b);

        // while (u) {
        //     a[++cnt1] = u & 1;
        //     u >>= 1;
        // }
        // while (v) {
        //     b[++cnt2] = v & 1;
        //     v >>= 1;
        // }

        // int cnt = max(cnt1, cnt2);

        vector<int> a, b;
        for (int i = 0; i <= 30; ++i) {
            if (u & (1 << i)) {
                a.push_back(i);
            }
            if (v & (1 << i)) {
                b.push_back(i);
            }
        }

        if (a.size() < b.size()) {
            puts("NO");
            continue;
        }

        bool f = true;
        for (int i = 0; i < b.size(); ++i) {
            // bool f = true;
            if (a[i] > b[i]) {
                // puts("NO");
                f = false;
                break;
            }
        }
        if (!f) {
            puts("NO");
        } else {
            puts("YES");
        }
    }
}