RT
#include<bits/stdc++.h>
using namespace std;
int father[500000];
int find(int x)
{
if(father[x]!=x) return find(father[x]);
else return x;
}
void unionn(int r1,int r2)
{
father[r2]=r1;
}
int main()
{
int n,m,i,x,y;cin>>n>>m;
int z;
for(i=1;i<=n;i++)
{
father[i]=i;
}
for(i=1;i<=m;i++)
{
cin>>z>>x>>y;
int r1=find(x);
int r2=find(y);
if(z==1) unionn(r1,r2);
if(z==2)
{
if(find(x)==find(y))
{
cout<<"Y"<<endl;
}
else
{
cout<<"N"<<endl;
}
}
}
return 0;
}//TLE!!!!!!