#include<iostream>
#include<cstdio>
#define ll long long
using namespace std;
ll fa[210000];
ll n,m;
inline ll read()
{
ll x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-')
f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
}
void f()
{
for(ll i=1;i<=n;++i)
fa[i]=i;
return;
}
ll find(ll m)
{
while(fa[m]!=m)
m=fa[m];
return m;
}//循环的方式
ll find(int m){
return fa[m]==m?m:fa[m]=find(fa[m]);
}//递归的方式
void concern(ll x,ll y)
{
ll baba1,baba2;
baba1=find(x);
baba2=find(y);
if(baba1!=baba2)
fa[baba1]=baba2;
return;
}
int main()
{
n=read();m=read();
ll z,x,y,sum=1;
f();
char save[210000];
for(ll i=1;i<=m;++i)
{
z=read();x=read();y=read();
if(z==1)
{
concern(x,y);
}
else
{
if(find(x)==find(y))
save[sum]='Y';
else
save[sum]='N';
++sum;
}
}
for(ll i=1;i<sum;++i)
printf("%c\n",save[i]);
return 0;
}