시간 제한메모리 제한제출정답맞힌 사람정답 비율
1.5 초 512 MB328382610.277%

문제

가희는 노선이 N개 있는 서울 지하철의 매력에 푹 빠졌습니다. 그래서 Q일 동안 출발지에서 목적지까지 서울 지하철만 타고 가려고 합니다.

그런데, 가희는 출발지에서 목적지까지 가장 시간이 적게 걸리는 방법으로 이동하려고 합니다. 가희를 도와주세요.

단, 한 역에서 인접 역까지 소요 시간은 2분으로 같고, 다른 노선으로 환승하는 시간은 무시합니다.

입력

첫 번째 줄에 N과 Q가 공백으로 구분되어 주어집니다.

두 번째 줄부터 N개의 줄에 노선의 역 개수 s와 노선에 있는 역 이름들이 주어집니다.

이때, 역 이름은 해당 노선의 1번 역부터 s번 역까지 공백으로 구분되어 주어지며, 각 역은 아래 조건에 맞습니다.

  • 하행의 시발역은 1번 역이고, 종착역은 s번 역이며, 상행의 시발역은 s번 역이고, 종착역은 1번 역입니다.
  • 하행에서 x번 역의 다음 역은 x+1번 역이며, 종착역에 도착한 후에는 운행을 종료합니다.
  • 상행에서 x+1번 역의 다음 역은 x번 역이며, 종착역에 도착한 후에는 운행을 종료합니다.

예를 들어 3 ab cd ef로 노선이 주어지는 경우, 해당 노선의 상행, 하행은 아래와 같이 운행합니다.

  • 하행은 1번역인 ab역에서 운행을 시작해서, cd역, ef역 순으로 멈춥니다. ef역에 도착한 후에는 운행을 종료합니다.
  • 상행은 3번역인 ef역에서 운행을 시작해서, cd역, ab역 순으로 멈춥니다. ab역에 도착한 후에는 운행을 종료합니다.

다음 Q개의 줄에는 출발지와 목적지가 공백으로 구분되어 주어집니다.

출력

Q개의 줄에 답을 출력해 주세요. 만약, 갈 수 없다면 -1을 출력해 주세요.

제한

  • 1 ≤ N ≤ 105
  • 1 ≤ Q ≤ 105
  • 각 노선에는 최소 둘 이상의 역이 있으며, 같은 이름의 역이 중복해서 나오지 않습니다.
  • 환승역은 20개 이하입니다.
  • 루프선, 순환선, 지선은 없으며, 다른 지역에 있는 동명의 역 (ex. 양평)도 없습니다.
  • 역명은 대소문자로만 이루어져 있으며, 길이는 8 이하입니다.
  • 1 ≤ N개의 노선에 있는 역의 수의 총합 ≤ 2 × 105

예제 입력 1

2 2
2 nkn mrk
3 nkn gil mrk
nkn mrk
mrk gil

예제 출력 1

2
2

nkn역에서 mrk역으로 가는 가장 빠른 방법은 1번 노선의 nkn역에 탑승해서, 다음 역인 mrk역으로 이동하는 것입니다.

mkr역에서 gil역으로 가는 가장 빠른 방법은 2번 노선의 mkr역에 탑승해서, 다음 역인 gil역으로 이동하는 것입니다.

이 예제에서 nkn역과 mrk역은 1번 노선과 2번 노선의 환승역임에 주의하세요.

예제 입력 2

1 3
4 seoul cityhall jonggak jegidong
seoul cityhall
cityhall jonggak
jonggak seoul

예제 출력 2

2
2
4

예제 입력 3

8 1
2 mb produce
2 uoi produce
2 rasb produce
2 aweri produce
2 ksdsga produce
2 asweghn produce
2 wdsfdsfg ProdUce
2 aew ProdUce
aew ProdUce

예제 출력 3

2

예제 입력 4

2 2
2 dongdae miryang
2 gupo busan
dongdae busan
miryang dongdae

예제 출력 4

-1
2

dongdae 역에서 busan 역으로 가는 방법은 없습니다. dongdae는 1번 노선, busan은 2번 노선에 있는데, 1번 노선과 2번 노선의 환승역은 없기 때문입니다.