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

Задано дерево, состоящее ровно из $$$n$$$ вершин. Дерево — это связный неориентированный граф с $$$n-1$$$ ребром. Каждой вершине $$$v$$$ этого дерева соответствует некоторое значение $$$a_v$$$.

Пусть $$$dist(x, y)$$$ — расстояние между вершинами $$$x$$$ и $$$y$$$. Расстояние между вершинами — это количество ребер на простом пути между ними.

Определим стоимость дерева как следующую величину: сначала давайте зафиксируем одну вершину дерева. Пусть она равна $$$v$$$. Тогда стоимость дерева равна $$$\sum\limits_{i = 1}^{n} dist(i, v) \cdot a_i$$$.

Ваша задача — найти максимально возможную стоимость дерева, если вы можете выбирать $$$v$$$ самостоятельно.

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

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

Вторая строка входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le 2 \cdot 10^5$$$), где $$$a_i$$$ равно значению вершины $$$i$$$.

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

Гарантируется, что заданные ребра образуют дерево.

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

Выведите одно целое число — максимально возможную стоимость дерева, если вы можете выбрать любую вершину в качестве вершины $$$v$$$.

Примеры
Входные данные
8
9 4 1 7 10 1 6 5
1 2
2 3
1 4
1 5
5 6
5 7
5 8
Выходные данные
121
Входные данные
1
1337
Выходные данные
0
Примечание

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

Вы можете выбрать вершину $$$3$$$ как корень, тогда ответ будет равен $$$2 \cdot 9 + 1 \cdot 4 + 0 \cdot 1 + 3 \cdot 7 + 3 \cdot 10 + 4 \cdot 1 + 4 \cdot 6 + 4 \cdot 5 = 18 + 4 + 0 + 21 + 30 + 4 + 24 + 20 = 121$$$.

Во втором тестовом примере дерево состоит только из одной вершины, поэтому ответ всегда равен $$$0$$$.