EduBrick

C. Расстояние между вершинами

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

Дано дерево. Для каждого запроса (u,v)(u, v) найдите расстояние между вершинами — количество рёбер на пути.

Запросы порождаются той же формулой, что в предыдущей задаче, и снова зависят от предыдущего ответа.

Формат ввода

Формат тот же, что в предыдущей задаче: nn и mm (1≤n≤1051 \le n \le 10^5, 1≤m≤1061 \le m \le 10^6), затем n−1n-1 родителей, затем a1a_1, a2a_2 и xx, yy, zz.

Ответом на запрос считается расстояние; именно оно прибавляется к первому числу следующего запроса.

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

Выведите сумму расстояний по всем запросам.

Примеры

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