#include <iostream>
#include<vector>
#include<stack>
using namespace std;
vector<int>size(1e6+10,1);
vector<int>father(1e6+10);
int find(int x){
if(father[x]!=x)father[x]=find(father[x]);
return father[x];
}
bool check(int x,int y){
return find(x)==find(y);
}
void combine(int x,int y){
father[find(x)]=find(y);
}
int main() {
int n,m;cin>>n>>m;
for(int i=1;i<=n;++i)father[i]=i;
int op;
while(m--){
int x,y;
cin>>op>>x>>y;
if(op==1){
if(check(x,y))cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}else{
combine(x,y);
}
}
}
// 64 位输出请用 printf("%lld")