휴가 계획
시간 제한2초메모리 제한1024 MB
노선 i의 이동 시간이 2^i분인 철도망에서, 질의마다 두 역 사이 최단 경로에 지나는 중간 역의 수를 구합니다.
문제
하늘이는 휴가 때마다 기차를 타고 집으로 간다. 기찻값을 지원받으려면 어떤 기차역을 거치는지 알아야 하므로, 하늘이는 미리 휴가 계획을 세우기로 했다.
기차역은 개 있고, 이를 잇는 노선은 개 있다. 각 노선은 서로 다른 두 기차역을 양방향으로 잇는다. 번째 노선은 이동에 분이 걸린다. 모든 기차역에서 다른 모든 기차역으로 이동할 수 있다.
휴가 시간을 낭비하지 않으려고 하늘이는 항상 최단 시간이 걸리는 경로를 이용한다. 그러한 경로가 여러 개라면, 거치는 기차역이 가장 적은 경로를 이용한다.
남은 번의 휴가마다 출발하는 기차역과 도착하는 기차역이 주어진다. 각 휴가에서 하늘이가 거쳐야 하는 기차역의 수를 구하라. 단, 출발하고 도착하는 기차역은 세지 않는다.
입력
첫째 줄에 과 이 공백을 사이에 두고 주어진다. (, )
둘째 줄부터 개의 줄에 걸쳐 각 노선이 잇는 기차역의 번호 , 가 공백을 사이에 두고 주어진다. 해당 노선은 이동에 분이 걸린다. 같은 두 기차역을 잇는 노선이 여러 개 있을 수 있다. (, , )
번째 줄에 가 주어진다. ()
번째 줄부터 개의 줄에 걸쳐 출발하는 기차역 와 도착하는 기차역 가 공백을 사이에 두고 주어진다. (, , )
출력
개의 줄에 걸쳐 각 휴가에 대한 답을 출력한다.