Problem description


Turniej
(T)
Limit pamięci: 256 MB
Limit czasu: 2.00 s

W zawodach „Mistrzostwa Odry” wzięło udział N krasnali. Łącznie rozegrano N − 1 meczów w turnieju pucharowym. Z różnych powodów turniej może nie być “sprawiedliwy” dla wszystkich uczestników. Oznacza to, że liczba meczów, które trzeba rozegrać, aby zdobyć mistrzostwo, może być różna dla każdego zawodnika. Struktura turnieju jest formalnie opisana poniżej.

Po każdym meczu jest jeden zwycięzca i jeden przegrany. Ostatni pozostający w grze krasnal zostaje ogłoszony mistrzem.

Przykładowa struktura turnieju

Dla wygody, uczestnicy zostali ponumerowani od 1 do N. Krasnal o numerze 1 został mistrzem, a krasnal o numerze i (gdzie 2 ≤ i ≤ N) przegrał w meczu z krasnalem o numerze Ai i tym samym odpadł z turnieju.

Formalny opis struktury turnieju jest następujący. W i-tym meczu przeciwko sobie grała jedna z poniższych par:

  • dwóch z góry ustalonych uczestników,
  • jeden z góry ustalony uczestnik oraz zwycięzca ustalonego wcześniej j-tego meczu (j < i),
  • zwycięzca ustalonego wcześniej j-tego meczu oraz zwycięzca k-tego meczu (j < i, k < i, j ≠ k).

Taka struktura jest poprawna wtedy i tylko wtedy, gdy żaden uczestnik, który już przegrał mecz, nie zagra ponownie w żadnym meczu, niezależnie od wyników pozostałych spotkań.

Zdefiniujemy głębokość turnieju jako maksymalną liczbę meczów, które musi rozegrać dowolny krasnal, aby zostać mistrzem.

Wyznacz minimalną możliwą głębokość turnieju.

Wejście

W pierwszym wierszu wejścia znajduje się liczba całkowita N, oznaczająca liczbę krasnali w turnieju.

Następne N − 1 wierszy wejścia zawiera liczby całkowite A2, A3, …, AN, po jednej liczbie w każdej linii. Liczba Ai oznacza numer krasnala, z którym przegrał krasnal i.

Istnieje co najmniej jeden turniej zgodny z danymi z wejścia.

Wyjście

W pierwszym (jedynym) wierszu wyjścia powinna się znaleźć minimalna możliwa głębokość turnieju, w którym krasnal 1 zostaje mistrzem.

Ograniczenia

2 ≤ N ≤ 100 000, 1 ≤ Ai ≤ N.

Przykłady

Wejście Wyjście Wyjaśnienie
5
1
1
2
4
3

Następujący turniej i wyniki meczów są spójne z danymi:

  • W pierwszym meczu krasnale 4 i 5 grają między sobą i wygrywa krasnal 4.
  • W drugim meczu krasnale 2 i 4 grają między sobą i wygrywa krasnal 2.
  • W trzecim meczu krasnal 1 i 3 grają między sobą i wygrywa krasnal 1.
  • W czwartym meczu krasnal 1 i 2 grają między sobą i wygrywa krasnal 1.

Głębokość tego turnieju to 3, ponieważ krasnal 5 musiałby zagrać 3 mecze (i wszystkie wygrać), aby zostać mistrzem. Da się udowodnić, że przy danych warunkach nie ma turnieju z mniejszą głębokością, dlatego odpowiedź to 3.

Wejście Wyjście
7
1
2
1
3
1
4
3
Wejście Wyjście
4
4
4
1
3