만드는 중입니다

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

해킹에서 밀고까지

시간 제한4초메모리 제한512 MB

요약
K명의 경비원이 정해진 순환 경로를 따라 도는 박물관에서 1번 코너부터 N번 코너까지 들키지 않고 가는 최소 시간을 구합니다. 불가능하면 impossible을 출력합니다.
난이도

어려움10점 중 8점

유형
그래프, BFS, 시뮬레이션
정답자
아직 제출이 없습니다

문제

예술품 거래로는 컴퓨터 과학 대회 상금만으로 생활할 수 없어서, 당신은 미술품 도둑으로 데뷔할 박물관을 골랐다. 그런데 이 박물관은 경비가 삼엄하다. 건물을 순찰하는 경비원이 KK명 있고, 각자 박물관 안의 단순 닫힌 경로를 따라 돈다.

박물관은 NN개의 모퉁이와 이를 잇는 MM개의 복도로 이루어진 지도로 표현된다. 모퉁이에는 1번부터 NN번까지 번호가 붙어 있다. 당신은 1번 모퉁이에서 출발하고, 목표인 값비싼 전시품은 NN번 모퉁이에 있다. 어느 모퉁이에서든 다른 모퉁이로 갈 수 있는 것은 확실하다. 하지만 들키지 않고 갈 수 있는지는 알 수 없다. 즉, 경비원과 같은 모퉁이에 서거나 복도에서 경비원과 마주치면 안 된다.

다행히 경비 명부를 구했다. 각 경비원의 출발 위치와 순찰 경로를 알고 있다. 매 분마다 경비원은 현재 모퉁이에서 경로상 다음 모퉁이로 이동한다. 당신은 현재 모퉁이에 머물거나 인접한 모퉁이로 이동할 수 있다. 경비원들의 경로는 서로 교차하지 않으며, 당신의 출발 모퉁이와 목표 모퉁이는 어떤 경로에도 포함되지 않는다.

이 정보를 바탕으로 들키지 않고 목표에 안전하게 도착하는 데 필요한 최소 시간(분)을 구하거나, 그것이 불가능하다고 판단하라.

* 전시품에 도착하면 창문을 열고 전국 대회에서 받은 날개옷을 입고 박물관을 빠져나간다. 따라서 돌아오는 안전한 경로는 계획할 필요가 없다.

† 물론 당신은 경비원에게 손끝 하나 대지 않는 신사 도둑이다!

입력

첫 줄에 정수 NN과 MM이 주어진다. 이어지는 MM개의 줄에는 정수 uu, vv (1≤u,v≤N1 \le u, v \le N, u≠vu \ne v)가 주어지며, 모퉁이 uu와 vv를 직접 잇는 복도가 있다는 뜻이다. 두 모퉁이를 직접 잇는 복도는 최대 하나다.

다음 줄에 정수 KK가 주어진다. 이어서 KK개의 줄이 주어지며, ii번째 줄은 ii번째 경비원의 순찰 경로를 나타낸다. 첫 정수 ℓi\ell_i는 경로에 있는 서로 다른 모퉁이의 개수이고, 뒤이어 서로 다른 정수 v1,⋯ ,vℓiv_1, \cdots, v_{\ell_i}가 주어진다. 경비원은 v1v_1에서 출발하여 1분 뒤 v2v_2에 있고, 같은 방식으로 이동한다. ℓi\ell_i분 뒤에는 다시 v1v_1에 있다.

출력

목표에 안전하게 도착하는 데 필요한 최소 시간(분)을 정수로 한 줄에 출력한다. 그럴 방법이 없으면 impossible을 출력한다.

제한

  • 1≤N≤2500001 \le N \le 250 000
  • 1≤M≤30000001 \le M \le 3 000 000
  • 3≤ℓi≤15003 \le \ell_i \le 1 500
  • ℓ1+⋯+ℓK≤2750\ell_1 + \cdots + \ell_K \le 2 750

힌트

다음 그림은 위의 첫 번째 예제 상황에 해당한다. 경비원의 출발 모퉁이는 굵게 표시되어 있고, 순찰 경로는 발자국으로 나타나 있다.

최적 경로는 1번 모퉁이에서 1분 기다린 뒤, 지체 없이 2, 5, 마지막으로 6번 모퉁이로 가는 것이다.

두 번째 예제는 박물관 배치가 같지만 경비원의 출발 위치와 방향이 다르다. 가능한 최적 경로는 1에서 2, 3, 4, 5를 거쳐 6으로 가는 것이다.

예제3

  1. 예제 1

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

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

    입력
    11 13
    1 2
    2 3
    3 4
    4 2
    3 5
    5 6
    6 7
    7 5
    6 8
    8 9
    9 10
    10 8
    9 11
    3
    3 4 2 3
    3 7 6 5
    3 10 8 9
    
    예상 출력
    impossible