美しいキャンパスで、Panda と友人たちは食事のために待ち合わせをしています。道中では自由に語り合えるため、彼らは一緒に過ごす時間を楽しんでいます。
キャンパスは、長さをもつ $m$ 本の辺と $n$ 個の頂点からなる連結な無向グラフとしてモデル化されます。待ち合わせ場所は頂点 $1$ にあるショッピングモールです。$k$ 人の友人がそれぞれ異なる頂点から出発し、モールへ向かいます。すべての友人は同じ速度(単位時間あたり距離 $1$)で移動し、辺上の任意の位置で移動方向を変えることができます(出力例の解説を参照してください)。
すべての友人がモールに到達できる最も早い時刻を $t_{\text{meet}}$ とします。この最も早い待ち合わせ時刻のもとで、各友人について個別に、モールでの最終的な集合までに仲間と一緒に過ごせる合計時間の最大値を求めてください(仲間と一緒にいるとは、グラフ上の頂点または辺上の点であるまったく同じ位置に、少なくとも $1$ 人の別の友人がいることを意味します)。
特定の友人 $i$ について考えるとき、他のすべての友人 $j \neq i$ の経路および移動戦略は、全員が時刻 $t_{\text{meet}}$ までにモールに到着するという条件のもとで、友人 $i$ が仲間と過ごす時間を最大化するように最適化されます。
入力
最初の行には、テストケースの数を表す整数 $T$ ($1 \le T \le 10^4$) が与えられます。
各テストケースについて、最初の行にはそれぞれ頂点数、辺数、友人の数を表す $3$ つの整数 $n, m, k$ ($2 \le n \le 3 \times 10^5$, $n - 1 \le m \le 10^6$, $2 \le k \le n$) が与えられます。
$2$ 行目には、友人たちの出発頂点を表す $k$ 個の相異なる整数 $a_1, a_2, \ldots, a_k$ ($1 \le a_i \le n$) が与えられます。
続く $m$ 行にはそれぞれ $3$ つの整数 $u, v, w$ ($1 \le u, v \le n$, $u \neq v$, $1 \le w \le 10^9$) が与えられ、頂点 $u$ と頂点 $v$ の間に長さ $w$ の辺があることを表します。グラフは連結であり、多重辺や自己ループは存在しません。
すべてのテストケースにおける $n$ の総和は $3 \times 10^5$ を超えず、$m$ の総和は $10^6$ を超えません。
出力
各テストケースについて、各友人が仲間と一緒に過ごせる最大時間を表す $k$ 個の浮動小数点数を空白区切りで $1$ 行に出力してください。各数値は小数点以下ちょうど $1$ 桁にフォーマットしてください。
入出力例
入力 1
3 4 3 2 3 4 1 2 3 3 2 1 4 2 1 2 1 2 1 2 1 2 3 3 2 3 1 2 3 1 2 3 1 3 5
出力 1
3.0 3.0 1.5 1.5 3.5 3.5 2.5
注記
入力例の $3$ 番目のテストケースでは、モールでの最も早い集合時刻は $5$ 単位時間です。
- 頂点 $1$ と頂点 $2$ から出発する友人は、$1.5$ 単位時間で辺 $(1, 2)$ の中点で合流し、さらに $1.5$ 単位時間かけて一緒にモールへ戻り、モールで $2$ 単位時間待つことで、合計 $3.5$ 単位時間を一緒に過ごすことができます。
- 頂点 $3$ から出発する友人は、$2.5$ 単位時間で辺 $(1, 3)$ の中点で頂点 $1$ からの友人と合流し、$2.5$ 単位時間かけて一緒に戻るため、合計 $2.5$ 単位時間を一緒に過ごすことができます。