编程题
### 问题描述
在一个遥远的银河系中,有 $N$ 颗行星,编号为 $1$ 到 $N$,每一颗行星都通过宇宙航道与另一颗行星相连,所有行星形成了一个树状结构。每颗行星 $i$ 上都有 $P_i$ 个居民。
星际旅行者小然和小明分别在星球 $A$ 和 $B$ 上开始他们的探索之旅。他们的旅行规则如下:
- 首先,小然移动到一个她尚未访问过的邻近星球(小明可能已经访问过)。
- 然后,小明移动到他尚未访问过的一个邻近星球(小然可能已经访问过)。
如果从星球 $A$ 到小然所在的星球路径上的居民总数严格大于从星球 $B$ 到小明所在星球路径上的居民总数,小然就会得到一分。
如果他们都可以进行下一步操作,则游戏继续,否则游戏立即结束。
在小然希望最大化她的得分,小明希望最小化小然的得分的前提下,求出小然的最终得分。
### 输入格式
第一行输入一个整数 $T$,代表测试用例的数量。
每个测试用例包含多行输入:
- 第一行包含三个用空格分隔的整数 $N$,$A$ 和 $B$ —— 星球的数量,以及小然和小明初始所在的星球编号。
- 第二行包含 $N$ 个用空格分隔的整数 $P_1$,$P_2$,...,$P_N$,其中 $P_i$ 是第 $i$ 个星球的居民数量。
- 接下来的 $N-1$ 行,每行包含两个空格分隔的整数 $u_i$ 和 $v_i$,代表星球 $u_i$ 和星球 $v_i$ 之间存在宇宙航道。
### 输出格式
对于每个测试用例,输出一行,包含一个整数,表示在双方都采取最优策略的情况下,小然的最终得分。
### 样例输入
```text
3
6 2 4
4 1 5 2 2 3
1 2
3 2
4 2
6 4
4 5
2 1 1
2 3
1 2
2 2 1
1 2
1 2
```
### 样例输出
```text
1
0
1
```
### 说明
测试用例 1:小然初始在星球 $2$,小明初始在星球 $4$,所以小然的居民数 $P_2 = 1$,小明的居民数 $P_4 = 2$。由于小然的居民数不大于小明的,所以小然没有得分。然后,小然移动到星球 $3$,小明移动到星球 $6$,现在小然的居民数 $1 + P_3 = 6$,小明的居民数 $2 + P_6 = 5$。由于小然的居民数大于小明的,所以小然得到一分。此后,他们都无法移动,所以游戏结束,小然的最终得分为 $1$。
### 评测数据范围
$1 \leq T \leq 1000$。
$1 \leq N \leq 5000$。
$1 \leq A, B \leq N$。
$1 \leq P_i \leq 10^9$。
$1 \leq u_i, v_i \leq N$。
所有的 $u_i$, $v_i$ 是唯一的,且 $u_i$ 不等于 $v_i$。
每个测试用例 $N$ 的总和不超过 $5000$。