import sys
input=sys.stdin.readline
n,m=map(int,input().split())
parent=[i for i in range(n+1)]
size=[1]*(n+1)
def find(x):
    stack=[]
    while x!=parent[x]:
        stack.append(x)
        x=parent[x]
    while stack:
        parent[stack.pop()]=x
    return x
def isSameSet(x,y):
    return find(x)==find(y)
def union(x,y):
    fx=find(x)
    fy=find(y)
    if fx!=fy:
        if size[fx]>=size[fy]:
            size[fx]+=size[fy]
            parent[fy]=fx
        else:
            size[fy]+=size[fx]
            parent[fx]=fy
for _ in range(m):
    opt,x,y=map(int,input().split())
    if opt==1:
        if isSameSet(x,y):
            print("Yes")
        else:
            print("No")
    else:
        union(x,y)