#include <stdio.h>
using namespace std;
FILE *fin ,*fout;
int tata[100001];
int retin[100001];
int radacina(int x)
{
int ramas=1 ,i;
while(tata[x]!=0)
{
retin[ramas]=x;
ramas++;
x=tata[x];
}
for(i=1;i<ramas;i++)
{
tata[retin[i]]=x;
}
return x;
}
int main()
{
fin = fopen("disjoint.in" ,"r");
fout = fopen("disjoint.out" ,"w");
int n ,tests , t ,x ,y ,rx ,ry ,i;
fscanf(fin , "%d%d" , &n , &tests);
for(i=1;i<=tests;i++)
{
fscanf(fin , "%d%d%d" , &t ,&x ,&y );
rx=radacina(x);
ry=radacina(y);
if(t==1)
{
tata[rx]=ry;
}
else
{
if(rx==ry) fprintf(fout , "DA\n");
else fprintf(fout , "NU\n");
}
}
return 0;
}