#include <bits/stdc++.h>

using namespace std;

int main()
{
    int t,n;
    cin>>t;

    unordered_map<long long,int> niz1;
    unordered_map<long long,int> niz2;
    for(int i=0;i<t;i++)
    {
        cin>>n;
        long long poc[n],zav[n];
        string rez="DA";
        for(int j=0;j<n;j++)
        {
            cin>>poc[j];
            if(poc[j]==0) niz1[0]=0;
            else if(j%2==0 && poc[j]>0)
                niz1[poc[j]]=0;
            else if(j%2==0 && poc[j]<0)
                niz2[abs(poc[j])]=0;
            else if(j%2!=0 && poc[j]>0)
                niz2[poc[j]]=0;
            else
                niz1[abs(poc[j])]=0;
        }
        for(int j=0;j<n;j++)
        {
            if(poc[j]==0) niz1[0]++;
            else if(j%2==0 && poc[j]>0)
                niz1[poc[j]]++;
            else if(j%2==0 && poc[j]<0)
                niz2[abs(poc[j])]++;
            else if(j%2!=0 && poc[j]>0)
                niz2[poc[j]]++;
            else
                niz1[abs(poc[j])]++;
        }
        for(int j=0;j<n;j++)
        {
            cin>>zav[j];
            if(niz1[zav[j]]!=0&& niz1[abs(zav[j])]!=0 && niz2[zav[j]]!=0 && niz2[abs(zav[j])]!=0)
            {
                rez="NE";
                cout<<"0";
            }
            else if(zav[j]==0)
            {
                if(niz1[0]>0) niz1[0]--;
                else rez="NE";

            }
            else if(j%2==0 && zav[j]>0)
            {
                if(niz1[zav[j]]>0) niz1[0]--;
                else rez="NE";
            }
            else if(j%2==0 && zav[j]<0)
            {
                if(niz2[abs(zav[j])]>0) niz2[0]--;
                else rez="NE";
            }
            else if(j%2!=0 && zav[j]>0)
            {
                if(niz2[0]>0) niz2[0]--;
                else rez="NE";
            }
            else
            {
                if(niz1[abs(zav[j])]>0) niz1[0]--;
                else rez="NE";
            }

        }


        cout <<rez << endl;
    }
    return 0;
}