Изменения рейтингов за последние раунды временно удалены. Скоро они будут возвращены. ×

A. Шахтёры Берляндии
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Главная золотая шахта Берляндии представляет собой n пещер, соединённых n - 1 переходами. Вход в шахту ведёт в пещеру номер 1, от неё возможно добраться до любой из оставшихся пещер шахты, следуя по переходам.

Разработкой шахты занимается компания ВШахте, на которую работают k шахтёров. Компания ежедневно распределяет шахтёров по пещерам так, что в каждой пещере работает не более одного шахтёра.

У каждой пещеры известна высота потолка в ней hi, выраженная в метрах, а у каждого шахтёра известен его рост sj, также выраженный в метрах. Если рост шахтёра не превосходит высоту потолка пещеры, в которой он находится, то он может свободно находиться в ней, в противном случае, он вынужден нагибаться, от чего у него портится настроение.

К сожалению, забастовки шахтёров — типичная картина для Берляндии, поэтому ВШахте прилагает все усилия к тому, чтобы шахтёры были довольны условиями труда. Чтобы шахтёры не начали забастовку, необходимо, чтобы ни одному шахтёру по пути от входа в шахту до своей пещеры не пришлось нагибаться (в том числе, он должен свободно стоять в пещере, где он работает).

Для достижения этой цели вы можете выбрать ровно одну пещеру и увеличить в ней высоту потолка на некоторое количество метров. Однако, расширение пещеры — дорогая и сложная операция. Поэтому ВШахте обращается к вам с просьбой определить, на какое минимальное количество метров требуется поднять высоту потолка некоторой пещеры, чтобы шахтёров можно было распределить по пещерам, после чего все шахтёры остались бы довольны условиями труда, либо определите, что обойтись поднятием потолка ровно в одной пещере невозможно.

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

В первой строке следует целое число n (1 ≤ n ≤ 5·105) — количество пещер в шахте.

Далее следует строка, в которой находятся n целых чисел h1, h2, ..., hn (1 ≤ hi ≤ 109), где hi — высота потолка в i-й пещере.

В последующих n - 1 строках находится описание переходов между пещерами. Каждая строка имеет вид ai, bi (1 ≤ ai, bi ≤ n, ai ≠ bi), где ai и bi — номера пещер, соединённых переходом.

В следующей строке находится целое число k (1 ≤ k ≤ n).

В последней строке находятся k целых чисел s1, s2, ..., sk (1 ≤ sj ≤ 109), где sj — рост j-го шахтёра.

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

В единственной строке выведите минимальное количество метров, на которое нужно увеличить высоту потолка в какой-то из пещер так, чтобы шахтёров можно было распределить по пещерам, и они бы остались довольны условиями труда. Если это сделать невозможно, выведите  - 1. Если это возможно сделать исходно, и поднимать потолок не требуется, то выведите 0.

Примеры
Входные данные
6
5 8 4 6 3 12
1 2
1 3
4 2
2 5
6 3
6
7 4 2 5 3 11
Выходные данные
6
Входные данные
7
10 14 7 12 4 50 1
1 2
2 3
2 4
5 1
6 5
1 7
6
7 3 4 8 8 10
Выходные данные
0
Входные данные
3
4 2 8
1 2
1 3
2
17 15
Выходные данные
-1
Примечание

В первом тесте из условия нужно увеличить высоту потолка в первой пещере с 5 до 11. После этого можно распределить шахтёров по пещерам следующим образом (сначала указан номер шахтёра, а потом номер пещеры): .

Во втором тесте из условия никаких действий не требуется, потому что шахтёров изначально можно распределить следующим образом: .

В третьем тесте из условия добиться требуемого невозможно.