#include<bits/stdc++.h>
using namespace std;
const int MAXN=10005;
int fa[MAXN];
int n,m;
int getfa(int x){
int a=x;
while(x!=fa[x]){
x=fa[x];
}
while(a!=fa[a]){//压缩
int z=fa[a];
fa[a]=x;
a=z;
}
return x;
}
void _union(int x,int y){
int fx=getfa(x);
int fy=getfa(y);
if(fx!=fy) fa[fx]=fy;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++){
fa[i]=i;
}
for(int i=0;i<m;i++){
int z,x,y;cin>>z>>x>>y;
if(z==2){
if(getfa(x)==getfa(y)){
cout<<"Y"<<endl;
}else{
cout<<"N"<<endl;
}
}else{
_union(x,y);
}
}
return 0;
}