#86. 小杨寻宝

小杨寻宝

小杨寻宝

小杨有一棵包含 n 个节点的树,树上的一些节点放置有宝物。 小杨可以任意选择一个节点作为起点并在树上移动,但是小杨只能经过每条边至多一次,当小杨经过一条边后,这条边就会消失。小杨每经过一个放置有宝物的节点就会取得该宝物。 小杨想请你帮他判断自己能否成功取得所有宝物。

输入格式

第一行包含一个正整数 t,代表测试用例组数。 接下来是 t 组测试用例。对于每组测试用例,一共 n+1 行: 第一行包含一个正整数 n,代表树的节点数。 第二行包含 n 个非负整数 col_1,col_2,...,col_n,其中如果 col_i=1,则节点 i 放置有宝物;若 col_i=0,则节点 i 没有宝物。 之后 n-1 行,每行包含两个正整数 u,v,代表存在一条连接节点 u 和节点 v 的边。

输出格式

对于每组测试数据,如果小杨能成功取得所有宝物,输出 Yes,否则输出 No。

样例

样例输入:

2
5
0 1 0 1 0
1 2
1 3
3 4
3 5
5
1 1 1 1 1
1 2
1 3
3 4
3 5

对于第一组测试用例,小杨从节点 4 出发,按照 4 -> 3 -> 1 -> 2 的顺序即可成功取得所有宝物。

样例输出:

Yes
No

数据范围

对于全部数据,保证有 1 ≤ t ≤ 10,1 ≤ n ≤ 10^5,Σn ≤ 10^5,col_i ∈ {0,1},且保证树上一定有至少一个节点放置有宝物。