Олимпиадный тренинг

Задача . B. Кай и снежинки


После того как Каю в глаз попал осколок дьявольского зеркала, его уже не трогала красота роз. Зато он начал любоваться снежинками.

Однажды в сад прилетела большая снежинка, имеющая форму корневого дерева (связного графа без циклов) на n вершинах. Корнем дерева является вершина номер 1. Кай очень заинтересовался его структурой.

После долгого изучения Каю стали интересны ответы на некоторые запросы про q вершин. А именно: для i-го запроса ему интересно, какой номер имеет центроид поддерева vi-й вершины.

Ваша задача — ответить на все запросы Кая.

Поддеревом вершины называется часть дерева, состояющая из этой вершины, а также всех её потомков. Другими словами, поддерево вершины v состоит из таких вершин u, что v обязательно присутствует на пути от u до корня дерева.

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

Входные данные

В первой строке входных данных записаны два числа n и q (2 ≤ n ≤ 300 000, 1 ≤ q ≤ 300 000) — размер исходного дерева и количество запросов соответственно.

Во второй строке записаны n - 1 число p2, p3, ..., pn (1 ≤ pi ≤ n) — номера предков вершин с номерами от 2 до n. Вершина 1 является корнем дерева. Гарантируется, что значения pi определяют корректное дерево.

В каждой из последующих q строк записано одно целое число vi (1 ≤ vi ≤ n)  — номер вершины, в поддереве которой надо найти центроид.

Выходные данные

На каждый запрос выведите номер центроида соответствующего поддерева в отдельной строке. Если центроидов в поддереве несколько, выведите любой. Гарантируется, что у каждого поддерева заданного дерева есть хотя бы один центроид.

Примечание

Первый вопрос спрашивает о центроиде всего дерева — это вершина 3, её удаление оставит четыре компоненты связности, две размера 1 и две размера 2.

Поддерево второй вершины состоит только из неё самой, поэтому ответ 2.

Вершина 3 также является центроидом собственного поддерева.

Центроидами поддерева 5 являются вершины 5 и 6 — оба этих ответа являются корректными.


Примеры
Входные данныеВыходные данные
1 7 4
1 1 3 3 5 3
1
2
3
5
3
2
3
6

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя