#include <iostream>
#include<string>
#include<vector>
using namespace std;
void check(vector<int> a, vector<int> b, int n)
{
bool met_plus = false, met_minus = false;
bool possible = true;
for (int i = 0; i < n && possible; i++)
{
if (a[i] > b[i])
{
if (!met_minus)
possible = false;
}
else if (a[i] < b[i])
{
if (!met_plus)
possible = false;
}
if (a[i] == -1)
met_minus = true;
if (a[i] == 1)
met_plus = true;
}
possible ? cout << "YES\n" : cout << "NO\n";
}
int main() {
int t;
cin >> t;
for (int i = 0; i < t; i++)
{
int n;
vector<int> a, b;
cin >> n;
for (int j = 0; j < n; j++)
{
int t;
cin >> t;
a.push_back(t);
}
for (int j = 0; j < n; j++)
{
int t;
cin >> t;
b.push_back(t);
}
check(a, b, n);
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxzdHJpbmc+CiNpbmNsdWRlPHZlY3Rvcj4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIGNoZWNrKHZlY3RvcjxpbnQ+IGEsIHZlY3RvcjxpbnQ+IGIsIGludCBuKQp7Cglib29sIG1ldF9wbHVzID0gZmFsc2UsIG1ldF9taW51cyA9IGZhbHNlOwoJYm9vbCBwb3NzaWJsZSA9IHRydWU7Cglmb3IgKGludCBpID0gMDsgaSA8IG4gJiYgcG9zc2libGU7IGkrKykKCXsKCQlpZiAoYVtpXSA+IGJbaV0pCgkJewoJCQlpZiAoIW1ldF9taW51cykKCQkJCXBvc3NpYmxlID0gZmFsc2U7CgkJfQoJCWVsc2UgaWYgKGFbaV0gPCBiW2ldKQoJCXsKCQkJaWYgKCFtZXRfcGx1cykKCQkJCXBvc3NpYmxlID0gZmFsc2U7CgkJfQoJCWlmIChhW2ldID09IC0xKQoJCQltZXRfbWludXMgPSB0cnVlOwoJCWlmIChhW2ldID09IDEpCgkJCW1ldF9wbHVzID0gdHJ1ZTsKCX0KCXBvc3NpYmxlID8gY291dCA8PCAiWUVTXG4iIDogY291dCA8PCAiTk9cbiI7Cn0KCmludCBtYWluKCkgewoJaW50IHQ7CgljaW4gPj4gdDsKCWZvciAoaW50IGkgPSAwOyBpIDwgdDsgaSsrKQoJewoJCWludCBuOwoJCXZlY3RvcjxpbnQ+IGEsIGI7CgkJY2luID4+IG47CgkJZm9yIChpbnQgaiA9IDA7IGogPCBuOyBqKyspCgkJewoJCQlpbnQgdDsKCQkJY2luID4+IHQ7CgkJCWEucHVzaF9iYWNrKHQpOwoJCX0KCQlmb3IgKGludCBqID0gMDsgaiA8IG47IGorKykKCQl7CgkJCWludCB0OwoJCQljaW4gPj4gdDsKCQkJYi5wdXNoX2JhY2sodCk7CgkJfQoJCWNoZWNrKGEsIGIsIG4pOwoJfQoJcmV0dXJuIDA7Cn0=