EduBrick

H. Почтовая реформа

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

Города Флатландии соединены дорогами так, что из любого города можно добраться до любого другого ровно одним способом. В каждом городе живёт волшебник, и у его башни есть высота.

Курьеру, который развозит посылки во все города на пути от ii до jj включительно, нужна верёвка длиной не меньше самой высокой башни на этом пути. Обрабатывайте запросы:

  • ! i h — высота башни в городе ii стала равна hh;
  • ? i j — какой длины верёвка нужна курьеру.

Формат ввода

В первой строке — число nn (1≤n≤5⋅1041 \le n \le 5 \cdot 10^4). Во второй — nn чисел: высоты башен (1≤hi≤1051 \le h_i \le 10^5). В следующих n−1n - 1 строках — пары uu, vv: дороги. Далее число запросов kk (1≤k≤1051 \le k \le 10^5) и сами запросы; 1≤i,j≤n1 \le i, j \le n, 1≤h≤1051 \le h \le 10^5.

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

На каждый запрос ? выведите нужную длину верёвки.

Примеры

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