atcoder#ABC132E. [ABC132E] Hopscotch Addict

[ABC132E] Hopscotch Addict

Score : 500500 points

Problem Statement

Ken loves ken-ken-pa (Japanese version of hopscotch). Today, he will play it on a directed graph GG. GG consists of NN vertices numbered 11 to NN, and MM edges. The ii-th edge points from Vertex uiu_i to Vertex viv_i.

First, Ken stands on Vertex SS. He wants to reach Vertex TT by repeating ken-ken-pa. In one ken-ken-pa, he does the following exactly three times: follow an edge pointing from the vertex on which he is standing.

Determine if he can reach Vertex TT by repeating ken-ken-pa. If the answer is yes, find the minimum number of ken-ken-pa needed to reach Vertex TT. Note that visiting Vertex TT in the middle of a ken-ken-pa does not count as reaching Vertex TT by repeating ken-ken-pa.

Constraints

  • 2N1052 \leq N \leq 10^5
  • 0Mmin(105,N(N1))0 \leq M \leq \min(10^5, N (N-1))
  • 1ui,viN(1iM)1 \leq u_i, v_i \leq N(1 \leq i \leq M)
  • uivi(1iM)u_i \neq v_i (1 \leq i \leq M)
  • If iji \neq j, (ui,vi)(uj,vj)(u_i, v_i) \neq (u_j, v_j).
  • 1S,TN1 \leq S, T \leq N
  • STS \neq T

Input

Input is given from Standard Input in the following format:

NN MM

u1u_1 v1v_1

::

uMu_M vMv_M

SS TT

Output

If Ken cannot reach Vertex TT from Vertex SS by repeating ken-ken-pa, print 1-1. If he can, print the minimum number of ken-ken-pa needed to reach vertex TT.

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

Ken can reach Vertex 33 from Vertex 11 in two ken-ken-pa, as follows: 12341 \rightarrow 2 \rightarrow 3 \rightarrow 4 in the first ken-ken-pa, then 41234 \rightarrow 1 \rightarrow 2 \rightarrow 3 in the second ken-ken-pa. This is the minimum number of ken-ken-pa needed.

3 3
1 2
2 3
3 1
1 2
-1

Any number of ken-ken-pa will bring Ken back to Vertex 11, so he cannot reach Vertex 22, though he can pass through it in the middle of a ken-ken-pa.

2 0
1 2
-1

Vertex SS and Vertex TT may be disconnected.

6 8
1 2
2 3
3 4
4 5
5 1
1 4
1 5
4 6
1 6
2