EduBrick

D. Сумма на пути

2000 мс · 256 МБ · всё или ничего

В вершинах дерева записаны числа. Для каждого запроса (u,v)(u, v) найдите сумму чисел во всех вершинах пути из uu в vv, включая концы.

Формат ввода

В первой строке nn (1≤n≤2⋅1051 \le n \le 2 \cdot 10^5). Во второй строке nn целых чисел viv_i (∣vi∣<109|v_i| < 10^9) — значения в вершинах, пронумерованных от 11 до nn.

В следующих n−1n-1 строках рёбра дерева: два номера вершин.

Далее число mm (1≤m≤2⋅1051 \le m \le 2 \cdot 10^5) и mm строк с запросами (xi,yi)(x_i, y_i).

Формат вывода

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

Примеры

ввод
4
-9 -6 -1 9
1 2
3 1
4 1
6
1 2
3 2
2 3
4 2
4 3
2 1
вывод
-15
-16
-16
-6
-1
-15
ввод
1
5

2
1 1
1 1
вывод
5
5
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.