atcoder#AGC014B. [AGC014B] Unplanned Queries

[AGC014B] Unplanned Queries

配点 : 500500

問題文

高橋君は木の問題が苦手です。そこで、青木君は高橋君の練習相手になってあげることにしました。

まず、高橋君は NN 頂点からなる木を用意し、頂点に 11 から NN の番号を付けました。 そして、各辺に 00 と書きました。

次に、青木君は高橋君に MM 個のクエリを与えました。ii 個目のクエリは以下のような内容です。

  • 頂点 aia_i と頂点 bib_i を結ぶパス上の辺すべてに対して、書かれている数を 11 増やす。

全てのクエリを終えた後、高橋君は青木君にどの辺を見ても書かれている数が偶数になったと伝えました。 しかし、青木君は最初に高橋君が用意していた木を確認していなかったので、 高橋君が正しくクエリを処理できたか分かりませんでした。

青木君を助けるために、高橋くんの言う性質を満たす木が存在するかどうかを判定してください。

制約

  • 2N1052 \leq N \leq 10^5
  • 1M1051 \leq M \leq 10^5
  • 1ai,biN1 \leq a_i,b_i \leq N
  • aibia_i \neq b_i

入力

入力は以下の形式で標準入力から与えられる。

NN MM

a1a_1 b1b_1

:

aMa_M bMb_M

出力

高橋くんの言う性質を満たす木が存在するならば YES を、存在しないならば NO を出力せよ。

4 4
1 2
2 4
1 3
3 4
YES

例えば、頂点 11 と頂点 2,3,42,3,4 が辺で結ばれているような木を高橋君が持っている場合は、高橋くんの言っていることは正しいです。 この場合、クエリをすべて終えた後各辺に書かれている数はどれも 22 になります。

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