G. Медяное расточительство
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

K1o0n принял альтернативный исход и устроился на кафедру программирования. Как известно, все программисты умеют копать траншеи для проводов, поэтому первым же поручением ему досталась проводка между корпусами университета — со счастливым правом сбывать старьё самостоятельно.

В университете $$$n$$$ корпусов, и между некоторыми парами протянуты кабели — всего их $$$m$$$. По $$$i$$$-му кабелю данные ходят в обе стороны, он соединяет корпуса $$$u_i$$$ и $$$v_i$$$, а меди в нём на $$$d_i$$$ монет. Сеть тянули задолго до K1o0n и денег не считали: где-то повесили лишнюю перемычку, где-то взяли кабель подороже, а до каких-то корпусов руки так и не дошли.

Перекроить сеть можно ровно в таком порядке:

  1. Снять любое подмножество кабелей. Медь снятого $$$i$$$-го кабеля уходит в приёмку и приносит $$$d_i$$$ монет; связи по этому кабелю больше нет.
  2. Протянуть любое количество новых кабелей между любыми двумя различными корпусами. Траншеи K1o0n роет сам, а вот кабель тянет монтажная бригада, и аппетит у неё растёт с каждой заявкой: первый новый кабель обойдётся в $$$x$$$ монет, второй — в $$$2x$$$, третий — в $$$3x$$$, и так далее.

После этого сеть обязана быть связной: из любого корпуса данные должны доходить до любого другого. Обратите внимание, что изначально сеть может быть несвязной.

Прибыль — это выручка от сданной меди минус траты на монтаж.

Вам даются $$$q$$$ сценариев, в $$$j$$$-м сценарии шаг подорожания монтажа равен $$$x_j$$$. Для каждого сценария вам нужно посчитать максимальную прибыль.

Входные данные

Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$)  — количество наборов входных данных.

Первая строка каждого набора содержит три целых числа $$$n$$$, $$$m$$$ и $$$q$$$ ($$$2 \le n \le 10^5$$$, $$$0 \le m \le 2 \cdot 10^5$$$, $$$1 \le q \le 2 \cdot 10^5$$$) — количество корпусов, кабелей и сценариев.

Следующие $$$m$$$ строк содержат по три целых числа $$$u_i$$$, $$$v_i$$$, $$$d_i$$$ ($$$1 \le u_i, v_i \le n$$$, $$$u_i \ne v_i$$$, $$$1 \le d_i \le 5 \cdot 10^8$$$) — концы $$$i$$$-го кабеля и цена меди в нём. Кабель не может соединять корпус с самим собой, и никакая пара корпусов не соединена двумя кабелями.

Последняя строка набора данных содержит $$$q$$$ целых чисел $$$x_1, x_2, \ldots, x_q$$$ ($$$1 \le x_j \le 5 \cdot 10^8$$$) — шаги подорожания монтажа в сценариях.

Гарантируется, что сумма $$$n$$$ по всем наборам не превосходит $$$10^5$$$, сумма $$$m$$$ не превосходит $$$2 \cdot 10^5$$$ и сумма $$$q$$$ не превосходит $$$2 \cdot 10^5$$$.

Выходные данные

Для каждого сценария выведите одно целое число — максимальную прибыль. Ответы на сценарии одного набора выводите в том же порядке, в котором заданы сценарии, в одной строке.

Пример
Входные данные
3
4 4 1
1 2 1
2 3 1
3 4 1
1 4 10
1
5 4 1
1 2 5
1 3 5
1 4 5
1 5 5
1
5 4 3
1 2 5
2 3 5
3 4 5
1 3 1
1 3 10
Выходные данные
10
10
9 2 -5