#1286. 3.小明聚会

3.小明聚会

当前没有测试数据。

3.小明聚会

题目描述

小明住在HH国的首都。HH国有nn个城市,其中11号城市为其首都。城市间有n1n-1条单向道路。从任意一个城市出发,都可以沿着这些单向道路一路走到首都,从任何一个城市走到首都的路径是唯一的。

想要通过某一条道路,你必须使用一次过路券。HH国一共有mm种过路券,每张过路券以三个整数表示:vv kk ww:你可以在城市vv以价格ww买到一张过路券。这张券可以使用kk次。这意味着,拿着这张券通过了kk条道路之后,这张券就不能再使用了。

请注意你同一时间最多只能拥有最多一张过路券。但你可以随时撕掉手中已有的过路券,并且在所在的城市再买一张。小明家在首都。他有qq位朋友,他希望把这些朋友们都邀请到他家做客。他想要知道每位朋友要花多少路费。他的朋友们永远都会选择一条花费最少的方式到达首都。

小明没有时间亲自计算出朋友们将要花费的路费。你可以帮帮他么?

输入格式

输入的第一行包含两个空格隔开的整数nnmm,表示HH国的城市数量和过路券的种数。

之后的n1n-1行各自包含两个数aabb,代表城市aa到城市bb间有一条单向道路。

之后的mm行每行包括三个整数vvkkww,表示一种过路券。

下一行包含一个整数qq,表示小明朋友的数量。

之后的qq行各自包含一个整数,表示小明朋友所在的城市。

输出格式

输出共qq行,每一行代表一位朋友的路费。

数据范围与提示

  • 对于40%40\%的数据:nnmmq10q \leq 10wi10w_i \leq 10
  • 另有20%20\%的数据:nnmmq500q \leq 500wi100w_i \leq 100
  • 另有20%20\%的数据:nnmmq5×103q \leq 5 \times 10^{3}wi103w_i \leq 10^{3}
  • 对于100%100\%的数据:1n1 \leq nmmq105q \leq 10^{5}1wi1041 \leq w_i \leq 10^{4}1vi1 \leq v_ikink_i \leq n

样例

7 7 
3 1 
2 1 
7 6 
6 3 
5 3 
4 3 
7 2 3
7 1 1 
2 3 5
3 6 2
4 2 4 
5 3 10 
6 1 20 
3 
5 
6 
7 
10 
22 
5

说明

对于第一位朋友,他在55号城市只能购买一种过路券,花费1010元并且可以使用33次。这足够他走到首都,因此总花费是1010元。

对于第二位朋友,他在66号城市只能购买2020元的过路券,并且只能使用一次。之后,他可以在33号城市购买22元,可以使用33次的过路券走到首都。总花费是2222元。

对于第三位朋友,他在77号城市可以购买两种过路券。他可以花33元买一张可以使用22次的券,然后在33号城市再买一张22元,可以使用33次的券,走到首都。总花费是55元,而且其他的购买方式不会比这种更省钱。