Xiao Yi i Xiao Ai żyją na drzewie. Drzewo $T$ ma $n$ wierzchołków połączonych $n-1$ krawędziami. Na drzewie znajduje się permutacja $p$. W każdym kroku Xiao Ai może wybrać krawędź $(u, v) \in T$ i zamienić wartości $p_u$ oraz $p_v$. Zadaniem Xiao Ai jest posortowanie permutacji. Aby oszacować minimalną liczbę potrzebnych zamian, Xiao Ai poprosiła o pomoc Xiao Yi, która po namyśle zapisała następujący wzór:
$$\frac{1}{2} \sum_{i=1}^{n} \text{dist}(i, p_i)$$
Xiao Ai po kilku próbach odkryła, że obecna permutacja dokładnie osiąga dolną granicę podaną przez Xiao Yi! Chciałaby sprawdzić, czy potrafisz podać strategię sortowania, która osiąga tę granicę. W szczególności, oczekuje ona strategii o najmniejszym leksykograficznie ciągu operacji. Przyjmujemy, że krawędzie drzewa są ponumerowane od $1$ do $n-1$, a porządek leksykograficzny strategii jest wyznaczony przez numery krawędzi użytych w kolejnych operacjach.
Wejście
Pierwsza linia zawiera liczbę całkowitą $n$, oznaczającą liczbę wierzchołków drzewa.
Następnie $n-1$ linii zawiera po dwie liczby całkowite $u_i, v_i$, oznaczające $i$-tą krawędź ($1 \le i \le n-1$).
Ostatnia linia zawiera $n$ liczb całkowitych, oznaczających permutację $p$.
Wyjście
Wypisz w jednej linii numery krawędzi użytych w operacjach, tworzących rozwiązanie o najmniejszym porządku leksykograficznym.
Przykład 1
Wejście 1
5 5 2 3 2 2 4 1 3 2 1 5 3 4
Wyjście 1
2 1 3 4 2
Uwagi
Początkowa sekwencja to $2, 1, 5, 3, 4$. W trakcie kolejnych 5 operacji sekwencja zmienia się następująco: $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$
Przykład 2
Patrz pliki tree/tree2.in oraz tree/tree2.ans w katalogu zawodnika.
Podzadania
Dla 100% danych wejściowych zachodzi $1 \le n \le 10^3$, a podana permutacja może zostać posortowana w $\frac{1}{2} \sum_{i=1}^{n} \text{dist}(i, p_i)$ operacjach.
| Test | $n$ | Ograniczenia specjalne |
|---|---|---|
| 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$ |
Ograniczenia specjalne: A oznacza zbiór krawędzi $\{(1, 2), (2, 3), \dots, (n-1, n)\}$. B oznacza zbiór krawędzi $\{(1, 2), (1, 3), \dots, (1, n)\}$. 0 oznacza, że krawędzie są podane w kolejności zgodnej z powyższym opisem. 1 oznacza, że krawędzie mogą być podane w dowolnej kolejności.