记录在此
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
string sze(unsigned long long num){
string ans="";
while(num){
ans=char(num%2+'0')+ans;
num/=2;
}
return ans;
}
int main(){
int t;
scanf("%d",&t);
while(t--){
unsigned long long a,b;
scanf("%llu%llu",&a,&b);
if(a==b){
puts("Yes");
continue;
}else if(a==0){
puts("No");
continue;
}else if(b==0){
puts("Yes");
continue;
}else if(b>a&&b%2){
puts("No");
continue;
}
string ae=sze(a),be=sze(b);
while(be[be.size()-1]=='0'&&be.size()>1)be.erase(be.size()-1);
if(ae.size()<be.size()){
puts("No");
continue;
}
bool flag=0;
for(int i=0;i<be.size();i++){
if(ae[i]!=be[i]){
flag=1;
break;
}
}
if(flag){
puts("No");
}else{
puts("Yes");
}
}
return 0;
}