#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")