G. Запросы на пути
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам задано взвешенное дерево, состоящее из $$$n$$$ вершин. Напомним, что деревом называется связный граф без циклов. Вершины $$$u_i$$$ и $$$v_i$$$ соединены ребром веса $$$w_i$$$.

Вам задано $$$m$$$ запросов. $$$i$$$-й запрос задан целым числом $$$q_i$$$. В этом запросе вам необходимо посчитать количество пар вершин $$$(u, v)$$$ ($$$u < v$$$) таких, что максимальный вес ребра на простом пути между $$$u$$$ и $$$v$$$ не превосходит $$$q_i$$$.

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

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

Каждая из следующих $$$n - 1$$$ строк описывает ребра дерева. Ребро $$$i$$$ обозначается тремя целыми числами $$$u_i$$$, $$$v_i$$$ и $$$w_i$$$ — номерами вершин, которые оно соединяет ($$$1 \le u_i, v_i \le n$$$, $$$u_i \ne v_i$$$) и весом ребра ($$$1 \le w_i \le 2 \cdot 10^5$$$). Гарантируется, что заданный набор ребер образует дерево.

Последняя строка входных данных содержит $$$m$$$ целых чисел $$$q_1, q_2, \dots, q_m$$$ ($$$1 \le q_i \le 2 \cdot 10^5$$$), где $$$q_i$$$ равно максимальному весу ребра в $$$i$$$-м запросе.

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

Выведите $$$m$$$ целых чисел — ответы на запросы. $$$i$$$-е число должно равняться количеству пар вершин $$$(u, v)$$$ ($$$u < v$$$) таких, что максимальный вес ребра на простом пути между $$$u$$$ и $$$v$$$ не превосходит $$$q_i$$$.

Запросы пронумерованы от $$$1$$$ до $$$m$$$ в порядке входных данных.

Примеры
Входные данные
7 5
1 2 1
3 2 3
2 4 1
4 5 2
5 7 4
3 6 2
5 2 3 4 1
Выходные данные
21 7 15 21 3 
Входные данные
1 2
1 2
Выходные данные
0 0 
Входные данные
3 3
1 2 1
2 3 2
1 3 2
Выходные данные
1 3 3 
Примечание

Картинка, соответствующая дереву из первого тестового примера: