EduBrick

L. k-й по величине на пути

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

В вершинах дерева записаны числа. Для каждого запроса (u,v,k)(u, v, k) нужно вывести kk-е по неубыванию значение среди вершин пути из uu в vv, а если вершин на пути меньше kk — вывести −1-1.

Формат ввода

В первой строке nn (1≤n≤1051 \le n \le 10^5) — число вершин от 00 до n−1n-1, корень — вершина 00. Во второй строке nn значений (1≤vali≤1091 \le val_i \le 10^9). В третьей строке n−1n-1 чисел — родители вершин 1,…,n−11, \ldots, n-1.

В четвёртой строке qq (1≤q≤1051 \le q \le 10^5). В следующих qq строках по три числа uu, vv и kk (1≤k≤n1 \le k \le n).

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

Для каждого запроса выведите kk-е по неубыванию значение на пути или −1-1, если вершин на пути меньше kk.

Примеры

ввод
5
7 2 9 4 4
0 0 1 1
4
3 4 1
3 4 3
0 2 2
3 3 2
вывод
2
4
9
-1
ввод
1
5

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