에어 보비니아는 소가 사는 농장 N개를 잇는 항공편을 운항한다 (1≤N≤20000). 이 가운데 K개 농장이 허브로 지정되어 있다 (1≤K≤200, K≤N).
지금 운항하는 편도 항공편은 M개다 (1≤M≤20000). i번 항공편은 농장 ui에서 농장 vi로 가고 요금은 di달러다 (1≤di≤10000). 모든 항공편은 ui와 vi 중 적어도 하나가 허브다. 두 농장을 같은 방향으로 직접 잇는 항공편은 많아야 하나이고, 출발 농장과 도착 농장이 같은 항공편은 없다.
베시는 에어 보비니아의 발권 업무를 맡고 있다. 베시가 몇 시간 동안 맛있는 건초를 씹으러 자리를 비운 사이에 소들의 휴가를 위한 편도 여행 요청이 Q개 들어왔다 (1≤Q≤50000). i번 요청은 농장 ai에서 농장 bi로 가는 표를 사려는 것이다.
요청마다 표를 끊어 줄 수 있는지 판단하고, 끊어 줄 수 있다면 최소 비용을 구하자.
출력을 줄이기 위해 처리할 수 있는 요청이 몇 개인지와, 그 요청을 모두 처리할 때의 최소 비용 합만 출력한다. 이 합은 32비트 정수 범위를 넘을 수 있다.
예제의 첫 번째 요청은 농장 1 → 2 → 3 경로로만 갈 수 있고 비용은 20이다. 농장 3에서 출발하는 항공편이 없어서 두 번째 요청은 처리할 수 없다.