AT_arc164_b [ARC164B] Switching Travel

Description

[problemUrl]: https://atcoder.jp/contests/arc164/tasks/arc164_b 頂点に $ 1 $ から $ N $ までの番号がついた $ N $ 頂点の単純、連結な無向グラフがあります。 このグラフには $ M $ 本の辺があり、 $ i $ 番目の辺は $ 2 $ 頂点 $ a_i $ , $ b_i $ を結んでいます。 また、各頂点は白または黒の色を持ち、最初の状態が $ c_i $ で与えられます。 $ c_i $ は $ 0 $ または $ 1 $ であり、$ c_i=0 $ であれば頂点 $ i $ は初め白色であり、$ c_i=1 $ であれば頂点 $ i $ は初め黒色です。 あなたはこのグラフ上で、好きな頂点を $ 1 $ つ選んで出発点とし、 - 今いる頂点と辺で結ばれた頂点のうち、今いる頂点と異なる色の頂点に移動する。その直後に、移動元の頂点の色を反転する(元の色が白なら黒に、黒なら白に変える)。 という動作を好きな回数繰り返します。 $ 1 $ 回以上の動作を行ったうえで、再び出発点に戻ってくることは可能でしょうか。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ a_1 $ $ b_1 $ $ a_2 $ $ b_2 $ $ \vdots $ $ a_M $ $ b_M $ $ c_1 $ $ c_2 $ $ \ldots $ $ c_N $

Output Format

$ 1 $ 回以上の動作を行ったうえで再び出発点に戻ってくることが可能な場合は `Yes` を、そのようなことが不可能な場合は `No` を出力せよ。

Explanation/Hint

### 制約 - $ 2\ \leq\ N\ \leq\ 2\ \times\ 10^5 $ - $ N-1\ \leq\ M\ \leq\ \mathrm{min}\ \lbrace\ 2\ \times\ 10^5,N(N-1)/2\ \rbrace $ - $ 1\ \leq\ a_i,\ b_i\ \leq\ N $ $ (1\ \leq\ i\ \leq\ M) $ - $ c_i=0 $ または $ c_i=1 $ $ (1\ \leq\ i\ \leq\ N) $ - 与えられるグラフは単純かつ連結である - 入力される値はすべて整数である ### Sample Explanation 1 例えば、頂点 $ 1 $ から出発することを考えます。 最初の動作では、頂点 $ 2 $ に移動し、移動元である頂点 $ 1 $ の色を白から黒に変化させます。この際のグラフの変化は下の図の通りです(丸で囲った頂点が今いる頂点を表します)。 その後、頂点 $ 3 $, $ 4 $, $ 2 $ へと順に移動すると、この時点で頂点 $ 1,2,3,4 $ の色は順に黒、白、黒、白となっています。 したがって、次の動作で頂点 $ 1 $ に移動することができ、出発点に戻ってくることができました。 !\[\](https://img.atcoder.jp/arc164/69700c7a0d96daa9c93ad01b89530e53.png) ### Sample Explanation 2 このグラフでは、どの頂点を出発点に選んでも、条件を満たすような移動を行って出発点に戻ってくることができません。