#include<bits/stdc++.h>
using namespace std;

long long a[30001];
long long b[30001];

void babl(long long a[], int n){
	//poredimo abs vrednost.
	bool sw = true;
	while(sw){
		bool pro = false;
		for(int i = 1; i < n; i++){
			if(abs(a[i]) < abs(a[i-1])){
				swap(a[i], a[i-1]);
				a[i] = -a[i];
				a[i-1] = -a[i-1];
				pro = true;
			}
		}
		if(pro == false)
			sw = false;
	}
}
//bubble sort oba niza??????" nakon bubble sort ukoliko imaju iste znakove svuda onda gg.
//mozemo da dobijemo razlicite znakove nakon sortiranja ukoliko dva uzastopna elementa dele isti znak...
void resi(){
	int n; cin >> n;
	for(int i = 0; i < n; i++) cin >> a[i];
	for(int i = 0; i < n; i++) cin >> b[i];
	babl(a, n);
	babl(b, n);
	bool moze = true;
	for(int i = 0; i < n; i++){
		int cs = 0, ct = 0;
		while(i != n-1 && abs(a[i+1]) == abs(a[i])){
			if(abs(b[i]) != abs(a[i])){
				moze = false;
				break;
			}
			if(b[i] < 0)
				ct++;
			if(a[i] < 0)
				cs++;
			i++;
		} //spagete >>>>>>
		cs += a[i] < 0;
		ct += b[i] < 0;
		
		if(cs % 2 != ct % 2) moze = false;
		if(!moze)
			break;
	}
	if(moze){
		cout << "DA" << "\n";
	}
	else cout << "NE" << "\n";
}


int main(){
	ios::sync_with_stdio(0); cin.tie(0);
	int t; cin >> t;
	while(t--) resi();
	return 0;
}