#agc052b. [agc052_b]Tree Edges XOR

[agc052_b]Tree Edges XOR

问题陈述

给定一个包含 NN 个顶点的树,其中 NN奇数。顶点从 11NN 编号,边从 11N1N-1 编号。边 ii 连接顶点 uiu_iviv_i,初始权重为 wi1w^1_i

您可以执行以下操作任意次数:

  • 选择树的一条边 (u,v)(u, v),假设它的权重现在是 ww。对于每条仅与 uuvv 中的一个顶点相邻的边,我们用 ww 对其权重进行异或运算(如果原来的权重是 w1w_1,替换为 w1oplusww_1 \\oplus w)。

你的目标是达到每条边 ii 的权重为 wi2w^2_i 的状态。确定是否可以通过执行上述操作任意次数来达到目标。

约束条件

  • 1leNle1051 \\le N \\le 10^5
  • NN 是奇数。
  • 1leui,vileN1\\le u_i, v_i \\le N
  • uineqviu_i \\neq v_i
  • 0lewi1,wi2<2300\\le w^1_i, w^2_i < 2^{30}
  • 输入中的所有值都是整数。
  • 输入表示了一棵有效的树。

输入

输入格式如下,从标准输入给出:

NN u1u_1 v1v_1 w11w^1_1 w12w^2_1 u2u_2 v2v_2 w21w^1_2 w22w^2_2 vdots\\vdots uN1u_{N-1} vN1v_{N-1} wN11w^1_{N-1} wN12w^2_{N-1}

输出

如果您可以从初始状态得到目标权重分配,则输出 YES。否则,输出 NO。注意,检查器对大小写不敏感:您可以使用大写和小写字母。

示例输入 1

3
1 2 1 1
2 3 8 9

示例输出 1

YES

如果您对边 11 执行操作,边 22 的权重变为 8oplus1=98 \\oplus 1=9

示例输入 2

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

示例输出 2

NO