给定一棵包含 $N$ 个顶点的树 $T$,顶点编号为 $1$ 到 $N$。第 $i$ 条边连接顶点 $u_i$ 和 $v_i$。
每个顶点都被赋予一个正整数,称为其“等级”(level)。初始时,顶点 $v = 1, 2, \dots, N$ 的等级为 $A_v$。
我们考虑在树 $T$ 上进行以下问题: 判断是否可以通过执行以下操作恰好 $N - 1$ 次,将树 $T$ 转化为仅包含单个顶点的树: * 选择一条端点等级相同的边并将其收缩。设 $l$ 为这两个端点的共同等级;则收缩后产生的新顶点的等级将为 $l + 1$。
你需要处理 $Q$ 次查询。在第 $i$ 次查询中,给定边编号 $e_i$。在交换树 $T$ 中顶点 $u_{e_i}$ 和 $v_{e_i}$ 的等级后(此交换会影响后续所有查询),输出上述问题的答案。
输入格式
输入按以下格式给出:
$N$ $u_1 \ v_1$ $u_2 \ v_2$ $\vdots$ $u_{N-1} \ v_{N-1}$ $A_1 \ A_2 \ \dots \ A_N$ $Q$ $e_1$ $e_2$ $\vdots$ $e_Q$
- 所有输入值均为整数。
- $2 \le N \le 2 \times 10^5$。
- $1 \le u_i, v_i \le N$。
- $1 \le A_i \le N$。
- $1 \le Q \le 2 \times 10^5$。
- $1 \le e_i \le N - 1$。
- 给定图是一棵树。
输出格式
输出 $Q$ 行。对于第 $i$ 次查询,在交换顶点 $u_{e_i}$ 和 $v_{e_i}$ 的等级后,如果可以通过上述操作将 $T$ 转化为单顶点树,则输出 Yes;否则输出 No。
样例
输入格式 1
4 1 2 1 3 1 4 1 1 2 3 4 1 2 3 1
输出格式 1
Yes No No Yes
输入格式 2
20 1 2 1 3 2 4 1 5 2 6 5 7 4 8 3 9 6 10 7 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 4 4 7 3 8 2 8 6 4 2 3 3 4 5 6 5 4 3 3 6 10 8 19 5 9 19 10 19 19 10 19
输出格式 2
No No No No Yes No No No Yes No
说明
在第一个样例的第一次查询中,交换顶点 $u_1 = 1$ 和 $v_1 = 2$ 的等级后,顶点 $1, 2, 3, 4$ 的等级分别变为 $1, 1, 2, 3$。在这种情况下,可以通过执行操作(选择合适的边)使得树最终变为一个等级为 $4$ 的单顶点。因此,输出为 Yes。你可能觉得下图有所帮助。
图 1:第一个测试用例中第一次查询的示意图
在第二次查询中,交换顶点 $u_2 = 1$ 和 $v_2 = 3$ 的等级后,顶点 $1, 2, 3, 4$ 的等级分别变为 $2, 1, 1, 3$。在这种情况下,无法执行任何操作,因此不可能将树转化为单顶点。因此,输出为 No。