#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;
int main(int argc, char** argv) {
	
/*
3
2
1 2
-1 -2
2
1 2
-2 -1
4
1 2 3 4
-4 -3 -2 -1

NE
DA
DA
*/	
	int t;
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cin>>t;
	for (int test=0;test<t;test++){
		int n;
		cin>>n;
		vector<int> a(n),b(n),poza(100000),pozb(100000),nega(100000),negb(100000),prova(n),provb(n);
		for (int i=0;i<n;i++){
			cin>>a[i];
			prova[i]=abs(a[i]);
			if (a[i]>=0) poza[a[i]]=i;
			else nega[abs(a[i])]=i;
		}
		for (int i=0;i<n;i++){
			cin>>b[i];
			provb[i]=abs(b[i]);
			if (b[i]>=0) pozb[b[i]]=i;
			else negb[abs(b[i])]=i;
		}
		bool rez=true;
		for (int i=0;i<n;i++){
				int prvi=a[i],drugi;
				if (pozb[a[i]]!=0) drugi=a[i];
				else drugi=(-1)*a[i];
				if (prvi==0) continue;
				if ((abs(prvi)/prvi)==(abs(drugi)/drugi)){
					if ((drugi<0) and ((abs(i-negb[abs(drugi)])%2==1))) rez=false;
					if ((drugi>=0) and ((abs(i-pozb[drugi])%2==1))) rez=false;
				}
				if ((abs(prvi)/prvi)!=(abs(drugi)/drugi)){
					if ((drugi<0) and ((abs(i-negb[abs(drugi)])%2==0))) rez=false;
					if ((drugi>=0) and ((abs(i-pozb[drugi])%2==0))) rez=false;
				}
			}
		sort(prova.begin(),prova.end());
		sort(provb.begin(),provb.end());
		for (int i=0;i<n;i++){
			if (prova[i]!=provb[i]) rez=false;
		}
		if (rez==false) cout<<"NE\n";
		else cout<<"DA\n";
	}
	
	return 0;
}