B. Добрый Антон
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Борису опять нужна помощь Антона в составлении задачи. На этот раз Антону нужно решить для Бориса следующую задачу:

Есть две массива целых чисел $$$a$$$ и $$$b$$$ длины $$$n$$$. Оказалось, что массив $$$a$$$ содержит элементы только из множества $$$\{-1, 0, 1\}$$$.

Антон может проделать следующую последовательность операций любое количество раз:

  1. Выбрать любую пару индексов $$$(i, j)$$$ такую, что $$$1 \le i < j \le n$$$. Одну и ту же пару индексов $$$(i, j)$$$ можно выбирать сколько угодно раз.
  2. Добавить $$$a_i$$$ к $$$a_j$$$. Другими словами, $$$j$$$-й элемент массива становится равным $$$a_i + a_j$$$.

Например, из массива $$$[1, -1, 0]$$$ за одну операцию можно получить массивы $$$[1, -1, -1]$$$, $$$[1, 0, 0]$$$ и $$$[1, -1, 1]$$$.

Антон хочет узнать, можно ли применить некоторое количество (возможно, нулевое) операций выше к массиву $$$a$$$, чтобы получить массив $$$b$$$. Можете ли вы ему помочь?

Входные данные

Каждый тест содержит несколько наборов входных данных.

Первая строка содержит количество наборов входных данных $$$t$$$ ($$$1 \le t \le 10000$$$). Далее следуют описания наборов входных данных.

Первая строка каждого тестового случая содержит единственное целое положительное число $$$n$$$ ($$$1 \le n \le 10^5$$$)  — длину массивов.

Вторая строка каждого тестового случая содержит $$$n$$$ чисел $$$a_1, a_2, \dots, a_n$$$ ($$$-1 \le a_i \le 1$$$)  — элементы массива $$$a$$$. Среди этих элементов могут быть одинаковые значения.

Третья строка каждого тестового случая содержит $$$n$$$ чисел $$$b_1, b_2, \dots, b_n$$$ ($$$-10^9 \le b_i \le 10^9$$$)  — элементы массива $$$b$$$. Среди этих элементов могут быть одинаковые значения.

Гарантируется, что сумма $$$n$$$ по всем тестовым случаям не превосходит $$$10^5$$$.

Выходные данные

Для каждого наборов входных данных выведите одну строку содержащую «YES» если можно преобразовать массив $$$a$$$ так, чтобы он стал равен массиву $$$b$$$, или «NO» иначе.

Вы можете выводить каждую букву каждого ответа в любом регистре (верхнем или нижнем).

Пример
Входные данные
5
3
1 -1 0
1 1 -2
3
0 1 1
0 2 2
2
1 0
1 41
2
-1 0
-1 -41
5
0 1 -1 1 -1
1 1 -1 1 -1
Выходные данные
YES
NO
YES
YES
NO
Примечание

В первом наборе входных данных можно выбрать $$$(i, j)=(2, 3)$$$ дважды, затем $$$(i, j)=(1, 2)$$$ также дважды. Эти операции изменят массив следующим образом: $$$[1, -1, 0] \to [1, -1, -2] \to [1, 1, -2]$$$.

Во втором наборе входных данных нельзя сделать числа на второй позиции равными.

В третьем наборе входных данных можно выбрать $$$(i, j)=(1, 2)$$$ $$$41$$$ раз. Аналогично в четвертом.

В последнем наборе входных данных преобразовать массив $$$a$$$ в массив $$$b$$$ невозможно.