006 - Encount

時間制限 2 秒 / メモリ制限 256 MB / 得点 24 / x 1 /


TLE
2sec
MLE
256MB
得点
24

問題

$N \ $頂点$ \ M \ $辺のグラフがあります。$i \ (1 \leq i \leq M) \ $番目の辺は頂点$ \ a_i \ $と頂点$ \ b_i \ $を双方向に結びます。

このゲームでは、$2 \ $人のプレイヤーがそれぞれ異なる頂点に駒を置きスタートします。
ターン毎に$ \ 2 \ $人は隣接する頂点に駒を同時に動かします。駒を動かさないことはできません。

$2 \ $人の駒が同じ頂点にたどり着いた時点でゲームは終了します。

山本君と山田君がそれぞれ頂点$ \ X \ $と頂点$ \ Y \ $に駒を置いてゲームを開始します。互いが出来るだけ早くゲームが終わるように駒を動かしたとき、このゲームは最短で何ターンで終了するでしょうか?
ただし、$2 \ $人がどのように駒を動かしてもゲームが終了しない場合は$ \ -1 \ $を出力してください。

入力

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

$N \ M \ X \ Y$
$a_1 \ b_1$
$a_2 \ b_2$
$\vdots$
$a_M \ b_M$

出力

ゲームが終わるのにかかる最小のターン数を出力せよ。ただし、$2 \ $人がどのように駒を動かしても永遠にゲームが終了しない場合は$ \ -1 \ $を出力せよ。
出力の末尾には改行を入れること。

制約

  • $2 \leq N \leq 2 \times 10^5$
  • $1 \leq M \leq \min(2 \times 10^5, \frac{N \times (N - 1)}{2})$
  • $1 \leq a_i,b_i \leq N$
  • $1 \leq X,Y \leq N$
  • $X \neq Y$
  • 与えられるグラフは連結かつ単純である
  • 入力は全て整数である

入出力例

入力例1

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

出力例1

2

$1 \ $ターン目では、山本君は頂点$ \ 2 \ $に、山田君は頂点$ \ 3 \ $に駒を動かします。
$2 \ $ターン目には$ \ 2 \ $人とも頂点$ \ 4 \ $に駒を動かすことでゲームは終了します。
$1 \ $ターン以内に終わらせることはできないため$ \ 2 \ $を出力します。


入力例2

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

出力例2

-1