#include <bits/stdc++.h>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int n,m;
int cod, x, y;
int parent[100005];
int elements[100005];
int findParent(int x) {
if(x == parent[x]) return x;
return parent[x] = findParent(parent[x]);
}
int main() {
fin >> n >> m;
for (int i = 1; i <= n; i++) {
parent[i] = i;
elements[i] = 1;
}
for (int i = 1; i <= m; i++) {
fin >> cod >> x >> y;
if (cod == 1) {
int parentX = findParent(x);
int parentY = findParent(y);
if (elements[parentX] < elements[parentY]) {
parent[parentX] = parentY;
}
else {
parent[parentY] = parentX;
}
}
else {
int parentX = findParent(x);
int parentY = findParent(y);
if (parentX == parentY) {
fout << "DA\n";
}
else {
fout << "NU\n";
}
}
}
return 0;
}