#include <bits/stdc++.h>
using namespace std;
ifstream fin ("disjoint.in");
ofstream fout("disjoint.out");
int repr[100002], dim[100002];
int get_repr(int x) {
if (repr[x] == x)
return x;
repr[x] = get_repr(repr[x]);
return repr[x];
}
void join (int x, int y) {
//sa "turnam" continutul multimii lui y in multimea lui x
x = get_repr(x), y = get_repr(y);
if (x == y)
return;
if (dim[x] < dim[y])
swap(x, y);
repr[y] = x;
dim[x] += dim[y];
}
int main()
{
int n, m, op, x, y;
fin >> n >> m;
for (int i = 1; i <= n; i++) {
repr[i] = i;
dim[i] = 1;
}
while (m--) {
fin >> op >> x >> y;
if (op == 1)
join(x, y);
else if (get_repr(x) == get_repr(y))
fout << "DA\n";
else fout << "NU\n";
}
return 0;
}