#agc014b. [agc014_b]Unplanned Queries

[agc014_b]Unplanned Queries

问题描述

高桥在编程竞赛中对于树的问题不太擅长,青木正在帮助他练习。

首先,高桥创建了一个具有 NN 个顶点,编号从 11NN 的树,并在每条边上写下 00

然后,青木给他提供了 MM 个查询。第 ii 个查询如下:

  • 将连接顶点 aia_ibib_i 的路径上每个边上的数加 11

在高桥执行完所有查询之后,他告诉青木,对于每一条边,上面写的数字都变成了偶数。然而,青木忘记了确认高桥创建的图实际上是一棵树,高桥可能在创建树或执行查询时出错。

判断是否存在一个树满足高桥所提到的性质。

约束条件

  • 2N1052 ≤ N ≤ 10^5
  • 1M1051 ≤ M ≤ 10^5
  • 1ai,biN1 ≤ a_i,b_i ≤ N
  • aibia_i ≠ b_i

输入

输入以以下格式从标准输入中给出:

NN MM a1a_1 b1b_1 : aMa_M bMb_M

输出

如果存在一个树满足高桥所提到的性质,则打印 YES;否则打印 NO

示例输入 1

4 4
1 2
2 4
1 3
3 4

示例输出 1

YES

例如,如果高桥的图具有以下边:121-2131-3141-4。那么,在这种情况下,每条边上写的数字都会变成 22

示例输入 2

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

示例输出 2

NO