#include<bits/stdc++.h>
using namespace std;
typedef __int128 Int;
Int read();
int T;
Int a, b;
Int base[70];
bool solve()
{
a = read(); b = read();
bool visa[65] = {}, visb[65] = {};
int cnta = 0, cntb = 0;
for (int i = 64; i >= 0; i--)
if (a >= base[i]) visa[i] = 1, a -= base[i], cnta++;
for (int i = 64; i >= 0; i--)
if (b >= base[i]) visb[i] = 1, b -= base[i], cntb++;
if (cnta < cntb) return 0;
if (cntb == 0) return 1;
int pb = 0, pe = 64;
while (!visb[pb] && pb <= 64) pb++;
while (!visb[pe] && pe > 0) pe--;
string sb = "";
for (int i = pb; i <= pe; i++)
sb += (char)(visb[i] + '0');
int len = pe - pb;
for (int i = 0; i <= 64; i++)
{
if (len + i > 64) break;
string tmp = "";
for (int j = i; j <= len + i; j++)
tmp += (char)(visa[j] + '0');
if (tmp == sb) return 1;
}
return 0;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
base[0] = 1;
for (int i = 1; i <= 64; i++)
base[i] = base[i - 1] << 1;
cin >> T;
while (T--)
{
if (solve()) puts("Yes");
else puts("No");
}
return 0;
}
Int read()
{
Int x = 0, f = 1; char ch = getchar();
while (ch < '0' || ch>'9')
{
if (ch == '-') f = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9')
{
x = (x << 1) + (x << 3) + (ch ^ 48);
ch = getchar();
}
return x * f;
}