Сяо И и Сяо Ай живут на дереве. Это дерево $T$ имеет $n$ узлов и соединено $n-1$ ребром. На дереве задана перестановка $p$. В каждой операции Сяо Ай может выбрать ребро $(u, v) \in T$ и поменять местами значения $p_u$ и $p_v$. Задача Сяо Ай — отсортировать перестановку. Чтобы оценить минимальное количество необходимых обменов, Сяо Ай обратилась за советом к Сяо И, который после раздумий записал следующую формулу:
$$\frac{1}{2} \sum_{i=1}^{n} \text{dist}(i, p_i)$$
Сяо Ай попробовала выполнить операции и обнаружила, что текущая перестановка как раз достигает нижней границы, указанной Сяо И! Она хочет проверить вас: сможете ли вы предложить план сортировки, достигающий этой нижней границы? В частности, она хочет, чтобы предложенный вами план был лексикографически минимальным. Мы считаем, что ребра дерева пронумерованы от $1$ до $n-1$, а лексикографический порядок плана определяется последовательностью номеров ребер, выбранных для операций.
Входные данные
Первая строка содержит целое число $n$, обозначающее количество узлов дерева. Следующие $n-1$ строк содержат по два целых числа $u_i, v_i$, обозначающих $i$-е ребро ($1 \le i \le n-1$). Последняя строка содержит $n$ целых чисел, представляющих перестановку $p$.
Выходные данные
Выведите одну строку. Выведите номера ребер, соответствующих лексикографически минимальному решению, в порядке их выполнения.
Примеры
Пример 1
5 5 2 3 2 2 4 1 3 2 1 5 3 4
Выходные данные 1
2 1 3 4 2
Примечание 1
Начальная последовательность: $2, 1, 5, 3, 4$. В процессе 5 операций последовательность меняется следующим образом: $2, 5, 1, 3, 4$ $2, 4, 1, 3, 5$ $2, 3, 1, 4, 5$ $1, 3, 2, 4, 5$ * $1, 2, 3, 4, 5$
Пример 2
См. файлы tree/tree2.in и tree/tree2.ans в каталоге участника.
Подзадачи
Для 100% данных гарантируется, что $1 \le n \le 10^3$, и заданная перестановка может быть отсортирована за $\frac{1}{2} \sum_{i=1}^{n} \text{dist}(i, p_i)$ операций.
| Тест | $n$ | Специальные ограничения |
|---|---|---|
| 1, 2 | $= 5$ | |
| 3, 4 | $= 30$ | |
| 5 | $= 10^2$ | |
| 6 | $= 10^3$ | A0 |
| 7 | $= 10^3$ | A1 |
| 8 | $= 10^3$ | B0 |
| 9 | $= 10^3$ | B1 |
| 10 | $= 10^3$ |
Специальные ограничения: A означает, что множество ребер имеет вид $\{(1, 2), (2, 3), \dots, (n-1, n)\}$. B означает, что множество ребер имеет вид $\{(1, 2), (1, 3), \dots, (1, n)\}$. 0 означает, что ребра гарантированно даны в указанном выше порядке. 1 означает, что ребра могут быть даны в любом порядке.