AT_abc318_g [ABC318G] Typical Path Problem
Description
[problemUrl]: https://atcoder.jp/contests/abc318/tasks/abc318_g
$ N $ 頂点 $ M $ 辺の連結な単純無向グラフ $ G $ が与えられます。
$ G $ の頂点および辺は頂点 $ 1 $, 頂点 $ 2 $, $ \ldots $, 頂点 $ N $ および辺 $ 1 $, 辺 $ 2 $, $ \ldots $, 辺 $ M $ と番号づけられており、 辺 $ i $ $ (1\leq\ i\leq\ M) $ は頂点 $ U_i $ と頂点 $ V_i $ を結んでいます。
また、$ G $ 上の相異なる頂点 $ A,B,C $ が与えられます。
頂点 $ B $ を経由して頂点 $ A $ と頂点 $ C $ を結ぶ単純パスが存在するか判定してください。
連結な単純無向グラフとは グラフ $ G $ が連結な単純無向グラフであるとは、 $ G $ が連結かつ単純な無向グラフであることをいいます。
グラフ $ G $ が無向グラフであるとは、$ G $ の辺に向きが無いことをいいます。
グラフ $ G $ が単純であるとは、$ G $ が自己ループや多重辺を含まないことをいいます。
グラフ $ G $ が連結であるとは、$ G $ に含まれるすべての頂点同士が辺を経由して互いに行き来できることをいいます。 頂点 $ Z $ を経由する単純パスとは グラフ $ G $ 上の頂点 $ X,Y $ について、頂点 $ X $ と頂点 $ Y $ を結ぶ単純パスとは、相異なる頂点列 $ (v_1,v_2,\ldots,v_k) $ であって、$ v_1=X $, $ v_k=Y $ かつ 任意の $ 1\leq\ i\leq\ k-1 $ をみたす整数 $ i $ について、頂点 $ v_i $ と頂点 $ v_{i+1} $ を結ぶ辺が $ G $ 上に存在するようなものを指します。
また、単純パス $ (v_1,v_2,\ldots,v_k) $ が頂点 $ Z $ を経由するとは、ある $ i $ $ (2\leq\ i\leq\ k-1) $ が存在して $ v_i=Z $ をみたすことを指します。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ A $ $ B $ $ C $ $ U_1 $ $ V_1 $ $ U_2 $ $ V_2 $ $ \vdots $ $ U_M $ $ V_M $
Output Format
問題文の条件をみたすような単純パスが存在するならば `Yes` を、存在しないならば `No` を出力せよ。
Explanation/Hint
### 制約
- $ 3\ \leq\ N\ \leq\ 2\times\ 10^5 $
- $ N-1\leq\ M\leq\min\left(\frac{N(N-1)}{2},2\times\ 10^5\right) $
- $ 1\leq\ A,B,C\leq\ N $
- $ A,B,C $ はすべて異なる。
- $ 1\leq\ U_i\