atcoder#ASAPOROC. グラフ

グラフ

题目描述

高橋君は N N 頂点 M M 辺からなる連結な無向グラフを見つけました。頂点には 1,2,...,N 1,2,...,N の番号がついており、辺 i i は頂点 ai a_i と頂点 bi b_i をつないでいます。また、辺には重さがあり、辺 i i の重さは ci c_i です。

そこで、高橋君は Q Q 回ゲームをし、 i i 回目のゲームで頂点 Si S_i と頂点 Ti T_i を使うことにしました。i i 回目のゲームでは辺の部分集合を選び、どの頂点にも頂点 Si S_i または頂点 Ti T_i から選ばれた辺のみをたどってたどり着けるようにしたいです。

各ゲームにおいて、高橋君が選ぶ辺の重みの総和として考えられる最小値を求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M a1 a_1 b1 b_1 c1 c_1 a2 a_2 b2 b_2 c2 c_2 : : aM a_M bM b_M cM c_M Q Q S1 S_1 T1 T_1 S2 S_2 T2 T_2 : : SQ S_Q TQ T_Q

输出格式

Q Q 行出力し、i i 行目には i i 回目のゲームにおいて高橋君が選ぶ辺の重みの総和として考えられる最小値を出力せよ。

4 3
1 2 3
2 3 4
3 4 5
2
2 3
1 4
8
7
4 6
1 3 5
4 1 10
2 4 6
3 2 2
3 4 5
2 1 3
1
2 3
8

提示

制約

  • 1  N  4,000 1\ ≦\ N\ ≦\ 4,000
  • 1  M  400,000 1\ ≦\ M\ ≦\ 400,000
  • 1  Q  100,000 1\ ≦\ Q\ ≦\ 100,000
  • 1  ai,bi,Si,Ti  N 1\ ≦\ a_i,b_i,S_i,T_i\ ≦\ N
  • 1  ci  109 1\ ≦\ c_i\ ≦\ 10^{9}
  • ai  bi a_i\ \neq\ b_i
  • Si  Ti S_i\ \neq\ T_i
  • 入力で与えられるグラフは連結である。

部分点

  • 200 200 点分のデータセットでは、Q = 1 Q\ =\ 1 が成立する。
  • 別の 300 300 点分のデータセットでは、Q  3000 Q\ ≦\ 3000 が成立する。

Sample Explanation 1

各ゲームについて見ると、 - 1 1 回目のゲームでは辺 1 1 と辺 3 3 を選ぶことで、最小値 8 8 が達成されます。 - 2 2 回目のゲームでは辺 1 1 と辺 2 2 を選ぶことで、最小値 7 7 が達成されます。

Sample Explanation 2

この入力はどちらの部分点の制約も満たします。