编程题
### 问题描述
“哥哥!不好啦!出大事啦!”
只见小弟慌慌张张地跑进聚义厅,满头大汗,上气不接下气。
“慌什么慌!没看到哥哥我正在喝酒吗?天塌下来了,也有哥哥我顶着!”
“哥哥,是账目的事!咱们山寨的账目 $A$ 和朝廷送来的账目 $B$ 对不上号啦!”
“什么?!这可是大事!快说说,怎么回事?”
“哥哥,是这样的。咱们山寨的账目 $A$ 和朝廷送来的账目 $B$,都记录了 $10^{99999}$ 条金银交易记录,每条记录都对应着一个数字,代表了交易的数额。账目 $A$ 中第 $i$ 笔记录的数字表示为 $A_i$。账目 $B$ 中第 $i$ 笔记录的数字表示为 $B_i$。但是,咱们山寨的账目 $A$ ,只有前 $a$ 笔记录是有数的,后面的都还没来得及记,所以都是 $0$。朝廷送来的账目 $B$ 也是,只有前 $b$ 笔记录是有数的,后面的也都是 $0$。”
“这有什么奇怪的?咱们山寨和朝廷做的买卖本来就多,有些还没来得及记也很正常嘛!”
“可是哥哥,这两本账目,就算把已经记好的那些数进行比对,也好像对不上啊?!朝廷那边说,咱们要是不能把账目对上,就要派兵来剿咱们了!”
“什么?!岂有此理!这帮官兵,分明是来找茬的!看来,只能先礼后兵了!小弟,你去把军师请来!”
“是,哥哥!”
不多时,军师便来到了聚义厅。
“军师,你快看看,这账目到底是怎么回事?能不能想办法,把它们对上?”
军师仔细地看了看账目,又沉思了片刻,说道:“哥哥,这两本账目,虽然乍一看对不上,但也不是完全没有办法。我们可以用两种方法来调整账目上的数字:”
1. “从账目 $A$ 中任选三笔不同的记录,设它们的编号分别是 $p,q,r$($1 \le p, q, r \le 10^{99999}$),然后把第 $r$ 笔记录的数 $A_r$ 改为第 $p$ 笔和第 $q$ 笔记录的数之和,即 $A_r = A_p + A_q$。”
2. “从账目 $A$ 中任选三笔不同的记录,设它们的编号分别是 $p,q,r$($1 \le p, q, r \le 10^{99999}$),然后把第 $r$ 笔记录的数 $A_r$ 改为第 $p$ 笔和第 $q$ 笔记录的数之差,即 $A_r = A_p - A_q$。”
“军师,你的意思是,只要用这两种方法,就能把账目 $A$ 调整成和账目 $B$ 一模一样吗?”
“不一定,我得仔细算算才能知道。”
现在,请你帮军师算一算,经过若干次(可以是 $0$ 次)的调整,这两本账目能不能一模一样。
### 输入格式
第一行包含一个整数 $t$($1 \le t \le 10^3$),表示测试数据的组数。
接下来是 $t$ 组测试数据,每组数据的格式如下:
- 第一行包含两个整数 $a$ 和 $b$($1 \le a, b \le 10^5$),分别表示账目 $A$ 和 $B$ 中已经记录的数的个数。
- 第二行包含 $a$ 个整数 $A_1, A_2, \dots , A_a$($1\leq A_i \leq 10^9$),表示账目 $A$ 中前 $a$ 笔记录的数。
- 第三行包含 $b$ 个整数 $B_1, B_2, \dots, B_b$($1\leq B_i \leq 10^9$),表示账目 $B$ 中前 $b$ 笔记录的数。
保证在所有的测试数据中,$a$ 和 $b$ 的总和不超过 $2\times 10^5$。
### 输出格式
对于每组测试数据,如果能将账目 $A$ 调整成和账目 $B$ 一致,则输出 `YES`,否则输出 `NO`。
### 样例输入
```text
2
2 2
1 1
1 2
2 1
2 4
3
```
### 样例输出
```text
YES
NO
```
### 样例说明
对于第一组数据,起初:
$$
A = [1, 1, 0, 0, 0, \cdots]
$$
选择 $r = 3, q = 1,p =2$,令 $A_3 = A_1 + A_2$:
$$
A = [1, 1, 1, 0, 0, \cdots]
$$
选择 $r = 2,q=1,p=3$,令 $A_2 = A_1 + A_3$:
$$
A = [1, 2, 1, 0, 0, \cdots]
$$
选择 $r = 3, q = 4, p = 5$,令 $A_3 = A_4 + A_5$:
$$
A = [1, 2, 0, 0, 0, \cdots]
$$
此时,$A = B$,输出 `YES`。
对于第二组数据,无论如何调整,也无法使 $A = B$,因此输出 `NO`。