휴가 계획
시간 제한2초메모리 제한1024 MB
각 간선의 가중치가 2^i일 때 연결된 그래프에서 두 정점 사이의 최단 경로 중 간선 수가 가장 적은 경로를 여러 질의에 대해 구한다.
문제
하늘이는 휴가 때마다 기차를 타고 집으로 간다. 기찻값을 지원받기 위해서는 어떤 기차역을 거치는지 알아야 하므로 하늘이는 미리 휴가 계획을 세우기로 결심했다.
기차역은 개가 있고 이를 잇는 노선은 개가 있다. 각 노선은 서로 다른 두 개의 기차역을 양방향으로 잇는다. 특이하게도 번째 노선은 이동에 분이 걸린다. 또한 모든 기차역에서 다른 모든 기차역으로 이동할 수 있다.
소중한 휴가 때 집으로 가는 데에 시간을 낭비할 수는 없기 때문에, 하늘이는 항상 최단 시간이 걸리는 경로를 이용한다. 그러한 경로가 여러 개라면, 거치는 기차역이 가장 적은 경로를 이용한다.
하늘이에게 남은 번의 휴가에 대해서 각 휴가마다 출발하는 기차역과 도착하는 기차역이 주어졌을 때, 몇 개의 기차역을 거쳐야 하는지 구해주자. 단, 출발하고 도착하는 기차역은 세지 않는다.
입력
첫째 줄에 과 이 공백을 사이에 두고 주어진다. ( )
둘째 줄부터 개의 줄에 걸쳐 각 노선이 잇는 기차역의 번호를 나타내는 정수 , 가 공백을 사이에 두고 주어진다. 해당 노선은 이동에 분이 걸린다. 같은 기차역을 잇는 노선이 여러 개 존재할 수 있음에 유의하시오.
번째 줄에 가 주어진다. ()
번째 줄부터 개의 줄에 걸쳐 출발하는 기차역과 도착하는 기차역의 번호를 나타내는 정수 가 공백을 사이에 두고 주어진다.
출력
개의 줄에 걸쳐 각 쿼리에 대한 정답을 출력한다.