#include <cstdio>
#include <vector>
#define Nmax 100005

using namespace std;

int start[Nmax],stop[Nmax],len;
vector <int> L[Nmax];

inline void Dfs(int nod, int tata)
{
    start[nod]=++len;
    vector <int> ::iterator it;
    for(it=L[nod].begin();it!=L[nod].end();++it)
        if(*it!=tata) Dfs(*it,nod);
    stop[nod]=++len;
}

int main()
{
    int x,y,i,m,n,ok;
    freopen ("maimute.in","r",stdin);
    freopen ("maimute.out","w",stdout);
    scanf("%d", &n);
    for(i=1;i<n;++i)
    {
        scanf("%d%d", &x,&y);
        L[x].push_back(y);
        L[y].push_back(x);
    }
    Dfs(1,0);
    scanf("%d", &m);
    for(i=1;i<=m;++i)
    {
        scanf("%d%d", &x,&y);
        ok=0;
        if(start[x]<start[y] && stop[x]>start[y]) ok=1;
        if(start[y]<start[x] && stop[y]>start[x]) ok=1;
        if(ok) printf("DA\n");
        else printf("NU\n");
    }
    return 0;
}