#include <iostream>
#include <fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int v[100001], ap[100001], nr , n , m;
int schimba(int a , int b)
{
int i;
for(i = 1 ; i <= n ; i++)
{
if(v[i] == a)
v[i] = b;
}
}
int main()
{
int i , j , x , y;
f >> n >> m;
for (i = 1; i<=n; ++i)
v[i]=i, ap[v[i]] = 1;
for(i = 1 ; i <= m ; i++)
{
f >> j >> x >> y;
if(j == 1)
{
if(ap[v[x]] > ap[v[y]])
{
schimba(v[y] , v[x]);
ap[v[x]] += ap[v[y]];
}
else
{
schimba(v[x], v[y]);
ap[v[y]] += ap[v[x]];
}
}
if(j == 2)
{
if((v[x] == v[y]) && (v[x] != 0))
g << "DA" << '\n';
else
g << "NU" << '\n';
}
}
}