EduBrick

LCA через эйлеров обход

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

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

Формат ввода

В первой строке nn (1≤n≤2⋅1051 \le n \le 2 \cdot 10^5), во второй — n−1n-1 родителей. Далее qq (1≤q≤2⋅1051 \le q \le 2 \cdot 10^5) и qq пар вершин.

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

Для каждого запроса выведите номер наименьшего общего предка.

Примеры

ввод
5
0 0 1 1
3
3 4
3 2
0 4
вывод
1
0
0
ввод
1

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