Problem description


Wypisywanie drzewa poziomami
(A)
Limit pamięci: 256 MB
Limit czasu: 2.50 s

Jasio kupił sobie w sklepie drzewo. Wygląda dość typowo, jak każde drzewo ze sklepu z drzewami, czyli jakoś mniej więcej tak:

Otrzymujesz od Jasia opis jego drzewa, składającego się z N wierzchołków. Korzeń drzewa ma numer 1, zaś pozostałe wierzchołki numerowane są kolejnymi liczbami naturalnymi od 2 do N włącznie. Dla każdego wierzchołka i, który nie jest korzeniem drzewa, znasz numer Pi jego bezpośredniego rodzica w drzewie.

Wypisz drzewo poziomami, tzn. w kolejnych wierszach należy wypisać wierzchołki, na coraz większych głębokościach (coraz większych odległościach od korzenia).

Wejście

W pierwszym (jedynym) wierszu wejścia znajduje się jedna liczba naturalna N, określająca liczbę wierzchołków drzewa. W drugim (ostatnim) wierszu wejścia znajduje się ciąg N − 1 liczb naturalnych P2, P3, …, PN, pooddzielanych pojedynczymi odstępami.

Wyjście

Twój program powinien wypisać na wyjście opis drzewa z wejścia. W (d+1)-tym wierszu powinien się znaleźć rosnący ciąg numerów wierzchołków znajdujących się w odległości d od korzenia.

Ograniczenia

1 ≤ N ≤ 1 000 000, 1 ≤ Pi + 1 ≤ i.

Przykład

Wejście Wyjście Wyjaśnienie
8
1 2 2 1 5 6 6
1 
2 5 
3 4 6 
7 8 

Ten test przykładowy opisuje sytuację z rysunku powyżej.