Дерево з вершинами є зв'язним графом з p - 1 ребром. Позначимо як корінь дерева. Якщо вершина знаходиться на відстані від , а вершина на відстані l + 1 від , і з'єднано з , то називається пращуром (предком) (тобто батьківською вершиною).
Аналогічно, якщо знаходиться на відстані від і на відстані l + k від , і існує шлях довжиною від до , то називається -им пращуром .
Сьюзен любить грати з графами, і дерево є однією з її улюблених структур даних. Вона створила задачу і хоче дізнатися, чи зможе хтось її вирішити. Іноді вона додає або видаляє вершину, яка є листком. Ваше завдання — в будь-який момент знайти -го пращура вершини.
Перша стрічка містить кількість тестів (1 \le t \le 3). Далі йдуть тестів. Перша стрічка кожного тесту містить кількість вершин (1 \le p \le 10^5) у дереві. Кожна з наступних стрічок містить два цілі числа і , що означає, що є пращуром (предком) . Якщо дорівнює , то є коренем дерева ( не належить дереву). Відомо, що 1 \le x, y \le 10^5.
Наступна стрічка містить кількість запитів (1 \le q \le 10^5). Кожна з наступних стрічок містить запит:
- : додається як новий листок з пращуром . ще не в дереві, належить дереву. - : вершина-листок видаляється з дерева. є листком дерева. - : виведіть -го (1 \le k \le 10^5) пращура . — вершина в дереві.
Для кожного запиту типу виведіть -го пращура . Якщо -ий пращур не існує, виведіть . Якщо вказана вершина не існує, виведіть .
Приклад 1