H. 合击绝技

Medium

时间限制:2000 ms

内存限制:256 MiB

题面

我重生了,重生到了机战世界当中,成了机车族的机战王

你的任务是带领机车战士打败猛兽族的所有战王,作为游戏的boss,所有的猛兽族战王都是S级的。因此对于任意一个战王, 你都需要找到对应的两位机车族战士练成合击绝技才能打败,比如要打败猛虎王,你需要先找到急先锋和霹雳火,并练成流影电光闪。

机车族战士和猛兽族战王分散在地图的各个位置,地图由n个节点n-1条边构成,保证地图最后是一棵树,而你出生在节点1号,每一次你可以移动到相邻的节点。如果你在前进的道路上遇到无法打败的战王,你将无法通过这个节点。如果你遇到了机车战士,你可以把他放到你的队伍中带上一起出发,并通过该节点。

请问你最后能否打败所有的战王,如果可以,输出YES,否则输出NO并换行输出已经打败的战王的数量。

同时为了方便,我们规定对于任意的战王i,能打败他的合击绝技需要机车战士2*i-12*i打败,比如对于1号战王,你需要1号机车战士和2号机车战士的合击绝技才能打败。注意,打败战王不会消耗机车战士。

输入格式

第一行给定一个整数n1n10000001 \leq n \leq 1000000)代表节点的个数

后面n - 1行,每行两个数字uv,代表节点uv是连通的。1u,vnuv1 \leq u,v \leq n,u \neq v

后面n - 1行,每行三个数字lockindid分别代表在loc号节点上,有一个种族为kind,编号为id的角色。2locn,kind{1,2},1代表猛兽族,2代表机车族,1id10000002 \leq loc \leq n,kind \in \{1,2\},1代表猛兽族,2代表机车族,1 \leq id \leq 1000000保证每个loc各不相同,且不为1,id可能重复

输出格式

YES代表最后能打败所有猛兽族战王

否则输出NO并换行输出能打败的猛兽族战王的数量。

样例

输入

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

输出

YES

输入

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

输出

NO
0