Після напруженого робочого тижня жителі Манчестера і Ліверпуля вирішили вирушити у похід на вихідні. Прогулюючись по лісу, вони натрапили на унікальне дерево, що складається з вершин. Вершини дерева пронумеровані від до , і кожна з них пофарбована в один з можливих кольорів.
Щоб подолати нудьгу, вони вирішили перевірити свої логічні здібності. Коренем дерева є вершина . Для кожної вершини учасники вирішили знайти її найближчого предка з таким самим кольором.
Перший рядок містить два цілих числа та (1 \le n, c \le 10^5): кількість вершин у дереві та кількість можливих кольорів.
Другий рядок містить n - 1 цілих чисел: -те з них вказує на батька вершини i + 1.
Третій рядок містить цілих чисел: кольори вершин. Кожен колір — ціле число від до включно.
Виведіть у одному рядку чисел: для кожної вершини виведіть номер її найближчого предка з таким самим кольором. Якщо такого предка не існує, виведіть .
Приклад 1