Без легенди
Вам дано дерево з вершинами, де коренем є вершина .
Вважатимемо, що безпосереднім батьком вершини є для всіх .
Необхідно виконати запитів двох типів:
Дано три цілі числа і . Потрібно замінити на для всіх , де .
Дано два цілі числа . Потрібно знайти LCA (найменшого спільного предка) вершин і .
Вхідні дані
Перший рядок містить два цілі числа і — кількість вершин і кількість запитів відповідно.
Другий рядок містить цілих чисел , де є батьком вершини .
Наступні рядків містять запити. Для кожного запиту першим числом у рядку є або — тип запиту.
Якщо , це запит першого типу. Далі йдуть три цілі числа: , що означає, що потрібно замінити на для всіх , де .
Якщо , це запит другого типу. Далі йдуть два цілі числа: і , і потрібно знайти LCA для і .
Гарантується, що є принаймні один запит другого типу.
Вихідні дані
Для кожного запиту другого типу виведіть відповідь у новому рядку.