[AGC010C] Cleaning

题意翻译

一棵树,第$i$个节点上有$a_i$个石头,每次选择两个叶子节点(度数为1的节点),将路径上经过的(包括起点终点)所有节点上都取走一个石头,如果路径上有一个点上没石头这个操作就不能进行,问能不能取完所有石头。

题目描述

[problemUrl]: https://atcoder.jp/contests/agc010/tasks/agc010_c $ N $ 頂点からなる木があり、頂点には $ 1 $ から $ N $ の番号がついています。 また、$ N-1 $ 本の辺の内、$ i $ 番目の辺は頂点 $ a_i $ と頂点 $ b_i $ を結んでいます。 今、各頂点 $ i $ には $ A_i $ 個の石が置いてあります。 以下の操作を繰り返して、全ての石を取り除くことができるか判定してください。 - 相異なる $ 2 $ つの葉を一組選ぶ。そして、その $ 2 $ 頂点間のパス上にある頂点全てからちょうど $ 1 $ つ石を取り除く。 ただし、葉とは木の頂点で次数が $ 1 $ の頂点を指し、選んだ葉自体もパス上の頂点として考える。 石が置かれていない頂点がパス上にあるときは、その操作を行えないことに注意してください。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ N $ $ A_1 $ $ A_2 $ … $ A_N $ $ a_1 $ $ b_1 $ : $ a_{N-1} $ $ b_{N-1} $

输出格式


全ての石を取り除くことができるなら `YES` を、そうでないなら `NO` を出力せよ。

输入输出样例

输入样例 #1

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

输出样例 #1

YES

输入样例 #2

3
1 2 1
1 2
2 3

输出样例 #2

NO

输入样例 #3

6
3 2 2 2 2 2
1 2
2 3
1 4
1 5
4 6

输出样例 #3

YES

说明

### 制約 - $ 2\ ≦\ N\ ≦\ 10^5 $ - $ 1\ ≦\ a_i,b_i\ ≦\ N $ - $ 0\ ≦\ A_i\ ≦\ 10^9 $ - 与えられるグラフは木である。 ### Sample Explanation 1 以下のようにすれば、すべての石を取り除くことができます。 - 葉として $ 4 $ と $ 5 $ を選ぶ。このとき、$ 4 $ 以外の頂点に石が $ 1 $ 個残る。 - 葉として $ 1 $ と $ 5 $ を選ぶ。このとき、全ての頂点から石がなくなる。