만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

닌자 택배

시간 제한1초메모리 제한1024 MB

요약
트리에서 허브 x와 y를 골라 Q개 요청의 가중 이동 비용 합을 최소화합니다.
난이도

어려움10점 중 8점

유형
트리, 분할 정복, 동적 계획법, DFS
정답자
아직 제출이 없습니다

문제

병우는 나뭇잎 마을의 이장이다. 나뭇잎 마을은 NN개의 시장과, 두 시장을 잇는 길이 11인 양방향 도로 N−1N-1개로 이루어져 있다. 임의의 서로 다른 두 시장은 도로만을 이용하여 오갈 수 있다. 즉, 나뭇잎 마을은 트리 모양이다. 편의상 각 시장에 11부터 NN까지 번호를 매겨 표현하자.

최근 경제가 활성화되면서 시장과 시장 사이에 물건을 옮길 일이 많아졌다. 이런 요청은 총 QQ개이며, 각 요청은 (a,b,w)(a, b, w) 세 정수로 표현된다. 이는 aa번 시장에서 bb번 시장까지 총 ww kg의 물건을 옮겨 달라는 요청이다. 병우는 요청을 처리하기 위해 닌자들을 고용했다. 닌자 택배를 효율적으로 활용하려면 물류 허브로 사용할 두 시장 xx와 yy를 잘 골라야 한다. xx와 yy는 서로 달라야 할 필요는 없다.

두 시장 a,ba, b에 대해, d(a,b)d(a, b)는 도로만을 이용하여 aa에서 bb로 갈 때의 최단 거리로 정의한다.

  • 모든 물건은 먼저 xx번 시장으로 모여야 한다. aa번 시장에서 xx번 시장으로 물건을 수송하는 데는 단위 질량, 단위 거리당 sas_{a}의 비용이 든다.
  • 이후 닌자들이 신묘한 술법으로 xx번 시장의 모든 물건을 yy번 시장으로 옮긴다. 이 작업에는 단위 질량, 단위 거리당 uu의 비용이 든다.
  • 이후 yy번 시장에서 각 요청의 도착지로 물건을 수송한다. bb번 시장으로 물건을 수송하는 데는 단위 질량, 단위 거리당 tbt_{b}의 비용이 든다.

즉, aa번 시장에서 bb번 시장으로 ww kg의 물건을 옮기는 데는 w(sad(a,x)+ud(x,y)+tbd(y,b))w(s_{a}d(a, x) + u d(x, y) + t_{b}d(y, b))의 비용이 든다. 시장 x,yx, y를 적절히 골라 모든 QQ개 요청의 비용 합을 최소화하는 프로그램을 작성하라.

입력

첫째 줄에 시장의 개수 NN이 주어진다.

둘째 줄부터 N−1N-1개의 줄에 걸쳐 트리의 간선에 해당하는 도로 정보가 주어진다. i+1i+1번째 줄에는 두 정수 uu, vv가 공백을 사이에 두고 주어지며, 이는 i+1i+1번째 도로가 uu번 시장과 vv번 시장을 잇는다는 뜻이다. 1≤u≠v≤N1 \le u \neq v \le N이며, 나뭇잎 마을은 트리 모양임이 보장된다.

N+1N+1번째 줄부터 NN개의 줄에 걸쳐 두 정수 si,tis_{i}, t_{i}가 공백을 사이에 두고 주어진다. sis_{i}는 ii번 시장에서 xx번 시장까지 1 kg의 물건을 옮기는 데 드는 단위 거리당 비용이고, tit_{i}는 yy번 시장에서 ii번 시장까지 1 kg의 물건을 옮기는 데 드는 단위 거리당 비용이다.

2N+12N+1번째 줄에는 물건 수송 요청의 개수 QQ가 주어진다.

2N+22N+2번째 줄부터 QQ개의 줄에 걸쳐 세 정수 a,b,wa, b, w가 공백을 사이에 두고 주어진다. 이는 aa번 시장에서 bb번 시장까지 ww kg의 물건을 옮겨 달라는 요청이다. aa와 bb는 같을 수 있고, 같은 (a,b)(a, b)에 대해 여러 요청이 주어질 수도 있다.

마지막 줄에는 xx번 시장에서 yy번 시장까지 1 kg의 물건을 옮기는 단위 거리당 비용 uu가 주어진다.

출력

첫째 줄에 QQ개 요청의 비용 합의 최솟값을 출력한다.

제한

  • 1≤N≤100,0001 \le N \le 100,000
  • 1≤Q≤100,0001 \le Q \le 100,000
  • 0≤si,ti≤1060 \le s_{i}, t_{i} \le 10^{6} (1≤i≤N)(1 \le i \le N)
  • 0≤u≤1060 \le u \le 10^{6}
  • 모든 QQ개의 요청 (a,b,w)(a, b, w)에 대해, 1≤w≤101 \le w \le 10.

예제1

  1. 예제 1

    입력
    6
    4 2
    2 1
    2 5
    1 6
    2 3
    9 7
    10 1
    2 2
    3 6
    10 9
    4 10
    8
    6 6 6
    5 4 5
    6 2 1
    4 5 4
    4 5 4
    5 2 9
    2 2 6
    3 3 10
    4
    
    예상 출력
    482