単純連結無向グラフ $G$ と $G$ の頂点集合の部分集合 $\{v_1, \ldots, v_K\}$、頂点 $s\in \{v_1, \ldots, v_K\}$ と $G$ の頂点 $t$ が与えられます。 最初、$G$ の頂点 $v_1, \ldots, v_K$ にはそれぞれ一個ずつブロックが置かれています。 以下の操作を繰り返して、頂点 $s$ にあるブロックを頂点 $t$ に動かせるか判定してください。
入力は以下の形式で与えられます。
$N$ $M$ $a_1$ $b_1$ $\vdots$ $a_M$ $b_M$ $K$ $v_1$ $\ldots$ $v_K$ $s$ $t$
$N,M$ はそれぞれ無向グラフ $G$ の頂点数と辺数を表します。$G$ の $i$ 番目の辺は頂点 $a_i$ と $b_i$ を結んでいます。
動かせるなら Yes を動かせないなら No を一行に出力し、最後に改行をしてください。
3 2 1 2 2 3 3 1 2 3 1 2
No
3 2 1 2 2 3 2 1 2 1 2
Yes
4 4 1 2 2 3 3 4 2 4 2 1 4 1 4
Yes