#include <bits/stdc++.h>

struct test
{
	int N;
	std::vector<int> A, B;	
};

void rev(std::vector<int>& v)
{
	for(int i = 0; i < v.size() / 2; i++)
	{
		std::swap(v[i], v[v.size() - i - 1]);
	}
}

int main()
{
	int T;
	std::cin >> T;
	std::vector<test> tests(T);
	for(int i = 0; i < T; i++)
	{
		std::cin >> tests[i].N;
		for(int j = 0; j < tests[i].N; j++)
		{
			int x;
			std::cin >> x;
			tests[i].A.push_back(x);
		}
		
		for(int j = 0; j < tests[i].N; j++)
		{
			int x;
			std::cin >> x;
			tests[i].B.push_back(x);
		}
	}
	
	for(int i = 0; i < T; i++)
	{
		for(int& x : tests[i].B)
			x = -x;
		
		if(tests[i].A == tests[i].B)
		{
			std::cout << "NE\n";
			continue;
		}
		
		rev(tests[i].B);
	
		if(tests[i].A == tests[i].B)
			std::cout << "DA\n";
	}
	
	return 0;
}