만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

배달하기

시간 제한1초메모리 제한1024 MB

요약
건우가 매 분 머물거나 옮겨 다니면서 감시당하는 교차로를 피해 S에서 E까지 가장 빨리 도착하는 시각을 구합니다.
난이도

보통10점 중 7점

유형
BFS, 그래프, 최단 경로
정답자
아직 제출이 없습니다

문제

건우는 배달 음식을 받아 기숙사에 있는 자신의 호실로 최대한 빨리 가려고 한다.

학교 건물은 11부터 NN까지 번호가 붙은 NN개의 교차점(정점)과, 서로 다른 두 교차점을 잇는 MM개의 복도(간선)로 이루어진 양방향 그래프이다. 복도와 연결되지 않은 교차점이 있을 수 있고, 어떤 두 교차점 사이에는 어떤 경로로도 도달할 수 없는 경우도 있을 수 있다.

건우는 출발지인 SS번 교차점에서 목적지인 EE번 교차점까지 최대한 빨리 가고 싶다. 하지만 사감 선생님이 학교 곳곳을 CCTV로 감시하고 있어 경로를 신중하게 골라야 한다. 사감 선생님에게 배달 음식을 들고 있는 모습을 들키면 벌점을 받는다.

사감 선생님의 CCTV 감시는 KK분을 주기로 반복된다. 건우가 출발한 지 TT분이 지나면 사감 선생님은 AT mod KA_{T \bmod K}번 교차점을 감시한다. 여기서 T mod KT \bmod K는 TT를 KK로 나눈 나머지이다.

건우는 00분에 SS번 교차점에 있다. 정수 TT에 대하여 TT분 시점에 다음 일이 순서대로 일어난다.

  1. 사감 선생님이 AT mod KA_{T \bmod K}번 교차점을 감시한다. 이때 건우가 그 교차점에 있으면 배달에 실패한다.
  2. 건우가 EE번 교차점에 있으면 배달에 성공한다.
  3. 건우는 두 가지 행동 중 하나를 고른다. 현재 교차점에 머무르거나, 인접한 교차점이 하나 이상 있을 때 그중 하나로 이동한다.
  4. 1분이 지난다.

건우가 배달에 성공할 수 있는지 판단하고, 성공할 수 있다면 배달하는 데 걸리는 최소 시간을 구하시오.

입력

첫째 줄에 교차점의 개수 NN과 복도의 개수 MM이 공백으로 구분되어 주어진다. (2≤N≤3000002 \leq N \leq 300000, 1≤M≤min⁡(300000,N(N−1)2)1 \leq M \leq \min\left(300000, \frac{N(N-1)}{2}\right))

둘째 줄에 건우의 출발지 교차점 번호 SS와 목적지 교차점 번호 EE가 공백으로 구분되어 주어진다. (1≤S,E≤N1 \leq S, E \leq N, S≠ES \neq E)

셋째 줄에 사감 선생님이 감시를 반복하는 주기 KK가 주어진다. (1≤K≤3000001 \leq K \leq 300000)

넷째 줄에 사감 선생님이 00분부터 K−1K-1분까지 감시하는 교차점 번호 A0,A1,…,AK−1A_0, A_1, \ldots, A_{K-1}이 공백으로 구분되어 주어진다. 사감 선생님은 이 순서대로 CCTV 감시를 반복하며, 00분에 SS번 교차점은 감시하지 않는다. (1≤Ai≤N1 \leq A_i \leq N, A0≠SA_0 \neq S)

다음 MM개의 줄에는 교차점 번호 uu, vv가 공백으로 구분되어 주어진다. 이는 uu번 교차점과 vv번 교차점 사이에 양방향 복도가 있다는 뜻이다. 임의의 두 교차점을 잇는 복도는 최대 11개이다. (1≤u<v≤N1 \leq u < v \leq N)

입력으로 주어지는 모든 수는 정수이다.

출력

건우가 배달에 성공할 수 있다면 배달하는 데 걸리는 최소 시간을 분 단위의 정수로 출력한다. 배달에 성공할 수 없다면 −1-1을 출력한다.

예제4

  1. 예제 1

    입력
    6 7
    1 6
    7
    3 2 5 5 6 2 1
    1 3
    3 4
    2 3
    2 4
    2 5
    4 5
    5 6
    
    예상 출력
    5
    
  2. 예제 2

    입력
    3 2
    1 3
    2
    2 1
    1 2
    2 3
    
    예상 출력
    2
    
  3. 예제 3

    입력
    3 2
    1 3
    1
    3
    1 2
    2 3
    
    예상 출력
    -1
    
  4. 예제 4

    입력
    4 2
    1 3
    2
    2 4
    1 2
    3 4
    
    예상 출력
    -1