Манкуніанець і кольорове дерево#3983

Манкуніанець і кольорове дерево

1 секунда
128 мегабайтів
Дуже легка

Після напруженого робочого тижня жителі Манчестера і Ліверпуля вирішили вирушити у похід на вихідні. Прогулюючись по лісу, вони натрапили на унікальне дерево, що складається з вершин. Вершини дерева пронумеровані від до , і кожна з них пофарбована в один з можливих кольорів.

Щоб подолати нудьгу, вони вирішили перевірити свої логічні здібності. Коренем дерева є вершина . Для кожної вершини учасники вирішили знайти її найближчого предка з таким самим кольором.

Вхідні дані

Перший рядок містить два цілих числа та (1 \le n, c \le 10^5): кількість вершин у дереві та кількість можливих кольорів.

Другий рядок містить n - 1 цілих чисел: -те з них вказує на батька вершини i + 1.

Третій рядок містить цілих чисел: кольори вершин. Кожен колір — ціле число від до включно.

Вихідні дані

Виведіть у одному рядку чисел: для кожної вершини виведіть номер її найближчого предка з таким самим кольором. Якщо такого предка не існує, виведіть .

Приклади

Приклад 1

Loading
Loading