Anya is playing a spy game! The map that she is currently on is a weighted connected graph with
nodes and
edges, where the weight of the
edge is
. It is guaranteed that the graph has no duplicate edges or self-loops.
To conquer the map and move on to the next level, Anya must complete
levels. The
level will consist of exactly
nodes, each of which contains an enemy attacker that Anya must take out. Even though Anya is a spy that can take out any opponent, the one thing she cannot do is teleport instantly, so she needs your help to help her calculate some costs.
More specifically, since Anya always wants to be prepared, she wants you to find the maximum cost between two distinct nodes in the level. The cost between two nodes is defined as the minimum number of edges required to travel from one node to the other plus the sum of the costs of the edges on the path. Help Anya find out the answer for each of the queries!
Constraints




The sum of all
will not exceed
.
Subtask 1 [30%]

Subtask 2 [69%]

Subtask 3 [1%]
No additional constraints.
Input Specification
The first line of input will contain
and
separated by a single space. The next
lines will each contain three integers
denoting the two endpoints and the weight of the
edge. The final
lines of input will each contain the integer
followed by
integers denoting the enemy nodes for the query.
Output Specification
Output
lines, the
of which is the answer to the
query.
Sample Input
Copy
6 2
1 2 3
2 3 5
1 4 1
4 5 2
2 6 5
3 3 5 6
3 1 2 6
Sample Output
Copy
15
10
Explanation
In the first query, the cost of the pair
is equal to
. This is because the minimum number of roads required to travel from
to
is
and the sum of costs on these roads is equal to
. It can be proven that there are no better pairs, so the answer is equal to
.
The optimal pairing for the second query is
.
Comments