编程题
### 问题描述
小然在一次冒险中,发现了一个神秘的古老遗迹。在遗迹的最深处,小然发现了一些神秘的二进制符文,他猜测这些符文可能是开启遗迹秘门的关键。
这些神秘的符文有两套,每套符文都是由 $0$ 和 $1$ 组成的二进制数组。一套是 $A$,另一套是 $B$,每套都有 $N$ 个元素($N ≥ 3$)。
神秘的是,符文 $A$ 有一个特殊的变形规则:可以选择 $A$ 中的三个位置 $i$、$j$ 和 $k$(满足 $1 ≤ i < j < k ≤ N$),并将位置 $j$ 的符文改为$A_i \mid A_j \mid A_k$ 的结果。
小然需要判断,通过任意次(可能为零次)的这种变形操作,是否可以将符文 $A$ 变为符文 $B$?
### 输入格式
第一行包含一个整数 $T$,代表有 $T$ 组测试数据。
每组测试数据包含三行:
- 第一行是一个整数 $N$,代表符文的元素数量。
- 第二行是 $N$ 个空格分隔的整数,代表符文 $A$ 的元素。
- 第三行是 $N$ 个空格分隔的整数,代表符文 $B$ 的元素。
### 输出格式
对于每组测试数据,如果可以通过变形操作将符文 $A$ 变为符文 $B$,输出 `YES`;否则,输出 `NO`。
### 样例输入
```text
3
5
0 1 0 0 1
0 1 1 1 1
3
1 0 0
0 0 1
3
0 0 0
0 1 0
```
### 样例输出
```text
YES
NO
NO
```
### 说明
在第一组测试数据中,我们可以通过以下操作将 $A$ 变为 $B$:
1. 选择 $i=2$、$j=3$、$k=4$,将 $A[3]$ 设置为 $A[2] \mid A[4]$,得到新的 $A=[0,1,1,0,1]$。
2. 选择 $i=3$、$j=4$、$k=5$,将 $A[4]$ 设置为 $A[3] \mid A[5]$,得到新的 $A=[0,1,1,1,1]$。
在第二组和第三组测试数据中,无法通过变形操作将 $A$ 变为 $B$。
### 评测数据范围
$1 \leq T \leq 10^3$。
$3 \leq N \leq 10^5$。
$A[i]$ 和 $B[i]$ 都是 $0$ 或 $1$。
所有测试数据中 $N$ 的总和不超过 $5 \times 10^5$。