编程题
### 问题描述
小然正在玩一个有趣的数字游戏。他有一个长度为 $2 \cdot N$ 的数组 $A$。
他还有一个空的数组 $B$。他需要进行 $N$ 次操作,每次操作如下:
- 选择数组 $A$ 中的两个不同的索引 $x$ 和 $y$($1 \leq x, y \leq |A|$);
- 将 $A_x - A_y$ 增加到数组 $B$ 的末尾;
- 从数组 $A$ 中删除第 $x$ 个和第 $y$ 个元素,并且将剩余的元素按原来的顺序连接起来。
他的目标是找到一种操作方式,使得在所有操作完成后,数组 $B$ 中没有两个连续的元素是相同的。
### 输入格式
输入的第一行包含一个整数 $T$,表示测试用例的数量。
每个测试用例由两行组成:
- 第一行包含一个整数 $N$;
- 第二行包含 $2 \cdot N$ 个空格分隔的整数 $A_1, A_2, ..., A_{2N}$,表示数组 $A$ 的元素。
### 输出格式
对于每个测试用例,如果存在一种操作方式使得所有操作完成后,数组 $B$ 中没有两个连续的元素是相同的,则输出 "YES",否则输出 "NO"。
### 样例输入
```text
3
2
1 1 1 1
3
1 1 2 2 3 3
2
1 1 2 2
```
### 样例输出
```text
NO
YES
YES
```
### 说明
在第二个测试用例中,我们可以进行以下操作:
- 在第一次操作中,选择索引 $x = 2$ 和 $y = 3$。将 $A_2 - A_3 = 1 - 2 = -1$ 添加到数组 $B$ 的末尾,并从数组 $A$ 中删除第 2 个和第 3 个元素。现在,数组 $A$ 是 $[1, 2, 3, 3]$。
- 在第二次操作中,选择索引 $x = 2$ 和 $y = 1$。将 $A_2 - A_1 = 2 - 1 = 1$ 添加到数组 $B$ 的末尾,并从数组 $A$ 中删除第 2 个和第 1 个元素。现在,数组 $A$ 是 $[3, 3]$,数组 $B$ 是 $[-1, 1]$。
- 在第三次操作中,选择索引 $x = 1$ 和 $y = 2$。将 $A_1 - A_2 = 3 - 3 = 0$ 添加到数组 $B$ 的末尾,并从数组 $A$ 中删除第 1 个和第 2 个元素。现在,数组 $A$ 是空的,数组 $B$ 是 $[-1, 1, 0]$。
### 评测数据范围
$1 \leq T \leq 10^3$。
$2 \leq N \leq 10^3$。
$1 \leq A_i \leq N$。
所有测试用例中 $N$ 的总和不超过 $5 \times 10^3$。