#include<bits/stdc++.h>
using namespace std;
int num[10010];
int n,m,a;
int tx,ty;
int find(int k){
if(num[k]==k) return num[k];
return num[k]=find(num[k]);/*即num[x]=find(num[x]) ;
return num[x];*/
}
void c1(int x,int y){
num[find(x)]=find(y);
//写成num[x]=num[find(y)]
//或者 num[x]=find(y)都不行啊 为什么捏
}
void c2(int x,int y){
if(find(x)==find(y)){cout<<"Y"<<endl;return;}
else{cout<<"N"<<endl;return;}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++) num[i]=i;
for(int i=1;i<=m;i++){
cin>>a>>tx>>ty;
if(a==1) c1(tx,ty);
if(a==2) c2(tx,ty);
}
return 0;
}