#include <cstdio>
using namespace std;
const int N = 2e3 + 5;
int t, n;
int a[N], b[N];
bool check(int x[]) {
for (int i = 1; i <= n; i++) {
if (x[i] != x[n-i+1]) return false;
}
return true;
}
int main() {
scanf("%d", &t);
while (t--) {
scanf("%d", &n);
for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
for (int i = 1; i <= n; i++) scanf("%d", &b[i]);
bool flag = true;
while (true) {
if (check(b)) break;
for (int i = 1; i <= n; i++) {
b[i] -= a[i];
if (b[i] < a[i]) {
flag = false;
break;
}
}
if (!flag) break;
}
if (flag) {
if (!check(a)) {
for (int i = 1; i <= (n + 1) / 2; i++) {
a[i] += a[n-i+1];
a[n-i+1] = a[i];
}
}
for (int i = 2; i <= n; i++) {
if ((b[i] * a[i-1]) != (b[i-1] * a[i])) {
flag = false;
break;
}
}
if (b[1] / a[1] * a[1] != b[1]) flag = false;
}
if (flag) puts("Yes");
else puts("No");
}
return 0;
}