F. Кнут
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Юсеф дал вам чётное целое число $$$n$$$ и два массива, $$$a$$$ и $$$b$$$, каждый из которых состоит из $$$n$$$ неотрицательных целых чисел.

Вы можете выполнять следующую операцию над массивом $$$a$$$ любое количество раз (возможно, ноль):

  • Выберите индекс $$$i$$$ ($$$1 \le i \le n$$$).
  • Для всех $$$j$$$ таких, что $$$1 \le j \le n$$$ и $$$j \neq i$$$, замените $$$a_j$$$ на $$$a_j \oplus a_i$$$. (Здесь $$$\oplus$$$ обозначает побитовую операцию XOR).
  • Элемент $$$a_i$$$ остаётся без изменений.

Определите, можно ли преобразовать массив $$$a$$$ в массив $$$b$$$, выполнив конечное число операций.

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

В первой строке содержится целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка каждого набора входных данных содержит чётное целое число $$$n$$$ ($$$2 \le n \le 2 \cdot 10^5$$$) — длину массива.

Во второй строке каждого набора входных данных содержится $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$0 \le a_i \lt 2^{30}$$$) — элементы массива $$$a$$$.

В третьей строке каждого набора входных данных содержится $$$n$$$ целых чисел $$$b_1, b_2, \dots, b_n$$$ ($$$0 \le b_i \lt 2^{30}$$$) — элементы массива $$$b$$$.

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

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

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

Вы можете выводить ответ в любом регистре (верхнем или нижнем). Например, строки «yEs», «yes», «Yes» и «YES» будут распознаны как положительные ответы.

Пример
Входные данные
6
2
1 2
1 0
4
1 2 4 7
6 7 5 3
4
1 2 4 8
8 4 2 1
4
1 2 3 4
1 2 4 5
4
1 2 0 3
3 3 0 3
6
3 5 6 9 10 12
6 5 3 12 15 9
Выходные данные
NO
YES
YES
NO
NO
YES
Примечание

В первом наборе входных данных, начиная с $$$[1, 2]$$$, не существует последовательности операций, которая заканчивается массивом $$$[1, 0]$$$, поэтому ответ — «NO».

Во втором наборе входных данных одна из возможных последовательностей:

  • Выберите индекс $$$2$$$, $$$[1, {\color{blue}{2}}, 4, 7] \rightarrow [3, {\color{blue}{2}}, 6, 5]$$$.
  • Выберите индекс $$$3$$$, $$$[3, 2, {\color{blue}{6}}, 5] \rightarrow [5, 4, {\color{blue}{6}}, 3]$$$.
  • Выберите индекс $$$4$$$, $$$[5, 4, 6, {\color{blue}{3}}] \rightarrow [6, 7, 5, {\color{blue}{3}}]$$$.

В третьем наборе входных данных одна из возможных последовательностей:

  • Выберите индекс $$$1$$$, $$$[\color{blue}{1}, 2, 4, 8] \rightarrow [\color{blue}{1}, 3, 5, 9]$$$.
  • Выберите индекс $$$2$$$, $$$[1, \color{blue}{3}, 5, 9] \rightarrow [2, \color{blue}{3}, 6, 10]$$$.
  • Выберите индекс $$$3$$$, $$$[2, 3, \color{blue}{6}, 10] \rightarrow [4, 5, \color{blue}{6}, 12]$$$.
  • Выберите индекс $$$2$$$, $$$[4, \color{blue}{5}, 6, 12] \rightarrow [1, \color{blue}{5}, 3, 9]$$$.
  • Выберите индекс $$$4$$$, $$$[1, 5, 3, \color{blue}{9}] \rightarrow [8, 12, 10, \color{blue}{9}]$$$.
  • Выберите индекс $$$1$$$, $$$[\color{blue}{8}, 12, 10, 9] \rightarrow [\color{blue}{8}, 4, 2, 1]$$$.