#include <bits/stdc++.h>
#define endl '\n'

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);

    int t;
    cin >> t;
    for(int i=0; i<t; i++){
        int n;
        cin >> n;
        vector<int> fush(n),pravi(n),pomocni(n);
        for(int j=0; j<n; j++)
            cin >> fush[j];
        for(int j=0; j<n; j++)
            cin >> pravi[j];
        bool moze=true,tacan=false;
        //cout << endl;
        for(int j=0; j<n && moze==true && tacan==false; j++){
            int euf=fush[j],eup,zuf,zup;
            if(eup<0)
                zup=-1;
            else
                zup=1;
            auto it=find(pravi.begin(),pravi.end(),euf);
            if(it==pravi.end()){
                it=find(pravi.begin(),pravi.end(),-1*euf);
                zuf=zup*-1;
            }
            else
                zuf=zup;
            if(it==pravi.end())
                moze=false;

            int rast=it-next(pravi.begin(),j);

            if(rast%2==0 && zup!=zuf)
                moze=false;
            if(rast%2==1 && zup==zuf)
                moze=false;

            pomocni[j]=euf;
            for(int z=0; z<j; z++){
                pomocni[z]=fush[z];
            }
            for(int z=j+1; z<=j+rast; z++){
                pomocni[z]=pravi[z-1]*(-1);


            }
            for(int z=j+rast+1; z<=n; z++){
                pomocni[z]=pravi[z-1];
            }
            /*for(auto x:pomocni)
                cout << x << " ";
            cout << endl;*/
            if(pomocni==fush)
                tacan=true;
            pravi=pomocni;
        }

        if(moze)
            cout << "DA" << endl;
        else
            cout << "NE" << endl;
    }




    return 0;
}