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

Дано дерево (связный граф без циклов). В каждой вершине дерева записано число. Назовём характеристикой $$$\mathrm{MAD}$$$ (maximum double) дерева максимальное число, которое встречается в вершинах этого дерева хотя бы $$$2$$$ раза. Если же никакое число не встречается в дереве больше одного раза, то положим $$$\mathrm{MAD}=0$$$.

Заметим, что если удалить ребро из дерева, то оно распадётся на два дерева. Вычислим $$$\mathrm{MAD}$$$ в каждом из деревьев и возьмем максимум из этих двух значений. Полученный результат назовем значением удаленного ребра.

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

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

В первой строке находится одно целое число $$$n$$$ ($$$2 \le n \le 10^5$$$) — количество вершин в дереве.

Далее в $$$n - 1$$$ строке находятся по два целых числа $$$u$$$ и $$$v$$$ ($$$1 \le u, v \le n$$$) — концы рёбер дерева. Гарантируется, что данные ребра образуют дерево.

В последней строке находятся $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^9$$$) — числа, записанные в вершинах.

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

Для каждого ребра в порядке ввода выведите одно число — максимум из $$$\mathrm{MAD}$$$ двух деревьев, получающихся после удаления из начального дерева данного ребра.

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

В первом примере после удаления ребра $$$(1, 2)$$$ ни в одном из получившихся поддеревьев никакое число не будет повторяться $$$2$$$ раза, поэтому ответ равен $$$\max(0, 0)=0$$$.

После удаления ребра $$$(2, 3)$$$ в бо́льшем поддереве будет два раза повторяться $$$1$$$ и два раза повторяться $$$2$$$, поэтому $$$\mathrm{MAD}$$$ этого дерева будет равен $$$2$$$.

После удаления ребра $$$(2, 4)$$$ в бо́льшем поддереве будет повторяться только число $$$1$$$, а во втором будет только одно число, поэтому ответом будет $$$1$$$.

Во втором примере, если ребро $$$1 \leftrightarrow 4$$$ не удалено, то в одном из поддеревьев будет две $$$1$$$, поэтому ответ — $$$1$$$. А если удалено ребро $$$1 \leftrightarrow 4$$$, то в обоих поддеревьях нет повторяющихся значений, поэтому ответом будет $$$0$$$.