#include<iostream>
#include<fstream>
using namespace std;
ofstream g("disjoint.out");
int v[100001];
int boss(int a)
{
if(v[a]==a)
return v[a];
return v[a]=boss(v[a]);
}
void joint(int x,int y)
{
int rx, ry;
rx=boss(y);
ry=boss(x);
ry=v[rx];
}
void query(int x, int y)
{
if(boss(x)==boss(y))
g<<"DA"<<endl;
else
g<<"NU"<<endl;
}
int main ()
{
ifstream f("disjoint.in");
int N,M,i,x,y,q;
f>>N>>M;
for(i=1;i<=N;i++)
v[i]=i;
for(i=1;i<=M;i++)
{
f>>q>>x>>y;
if(q==1)
joint(x,y);
else
query(x,y);
}
return 0;
}