모험을 떠나자

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

한신이는 당내 최고의원으로 뽑히지 못하자 그 책임을 지고 의원직에서 물러났다. 그리고 새로운 재미를 찾아 미국 동부로 모험을 떠났다. 버지니아에 사는 친구에게 차를 빌렸지만 넣어 둔 기름이 한정되어 있어서, 갈 수 있는 거리 안에서 버지니아 곳곳을 돌아보기로 했다.

친구에게서 각 지역의 가치를 들은 한신이는 기름이 바닥나지 않는 선에서 출발지부터 도착지까지 지나는 지역의 가치 합을 최대로 만들려고 한다.

여행의 목적은 오직 재미이므로 같은 도시를 여러 번 지나도 된다. 다만 가치는 처음 지날 때 한 번만 더하고 두 번째부터는 더하지 않는다. 가치 합에는 출발지와 도착지도 포함한다.

입력

첫째 줄에 방문할 수 있는 지역의 수 cc가 주어진다. 이어지는 cc개 줄에는 지역의 이름과 그 지역의 가치가 공백으로 구분되어 주어진다.

다음 줄에 지역 사이를 잇는 도로의 수 mm이 주어진다. 이어지는 mm개 줄에는 도로가 잇는 두 지역의 이름과 그 도로의 길이가 주어진다. 도로의 길이는 정수이고 모든 도로는 양방향으로 다닐 수 있다. 같은 두 지역을 잇는 도로가 여러 개 주어질 수도 있고, 한 지역에서 자기 자신으로 이어지는 도로가 주어질 수도 있다.

다음 줄에 테스트 케이스의 수 pp가 주어진다. 이어지는 pp개 줄에는 출발지, 도착지, 이동할 수 있는 최대 거리가 주어진다.

모든 값은 공백으로 구분되고 지역 이름 안에는 공백이 없다. 예를 들어 Virginia Beach처럼 띄어 쓴 이름은 입력되지 않는다.

  • 1c111 \le c \le 11
  • 지역 이름은 알파벳과 숫자로 이루어진 길이 11 이상 2020 이하의 문자열이고 서로 다르다
  • 각 지역의 가치는 1000-1000 이상 10001000 이하의 정수
  • 0m1000 \le m \le 100
  • 도로의 길이는 11 이상 1000010000 이하의 정수
  • 1p101 \le p \le 10
  • 이동할 수 있는 최대 거리는 00 이상 10000001000000 이하의 정수
  • 출발지와 도착지는 앞에서 주어진 지역 이름 중 하나이고 서로 같을 수도 있다

출력

각 테스트 케이스마다 한 줄에 Case x: v 형식으로 출력한다. xx11부터 시작하는 케이스 번호이고, vv는 얻을 수 있는 가치 합의 최댓값이다. 가치 합에는 출발지와 도착지도 포함한다.

이동할 수 있는 최대 거리 안에서 출발지부터 도착지까지 갈 수 있는 경로가 없으면 vv 자리에 Not possible을 출력한다.