꽁꽁 얼어붙은 트리

문제

노드가 N개인 꽁꽁 얼어붙은 트리 위로 고양이가 걸어 다니려고 한다. 루트 노드는 1번 노드이며, 트리를 이루는 모든 간선의 거리는 1이다.

N−1마리의 고양이가 1번 노드에 멈춰있고, 다른 노드로 걸어 다니기 위해 준비하고 있다. 하지만 이 트리는 꽁꽁 얼어붙어서, 각 고양이가 갖고 있는 고유한 제동지수에 따라 노드를 미끄러지면서 이동해야 한다. N−1마리 고양이의 제동지수 d는 각각 2,3,⋯,N이다.

고양이는 1회 이동 시 부모 방향(루트 방향) 혹은 자식 방향 중 하나를 선택하고, 그 방향으로만 간선을 따라 정확히 제동지수 d만큼 미끄러진 후 도착한 노드에 멈춰있을 수 있다. 즉, 1 이상 d 미만으로 미끄러졌으나 루트 혹은 리프노드에 도착하도록 이동할 수 없다.

N−1마리의 고양이는 부모 방향 혹은 자식 방향으로 원하는 횟수만큼 이동할 수 있다. 각 고양이가 1번 노드를 포함해 멈춰있을 수 있는 노드의 개수를 구했을 때, 이 값들 중 가장 큰 값을 구해주자.

입력

첫째 줄에 꽁꽁 얼어붙은 트리의 노드 개수 N이 주어진다. (2≤N≤106)

둘째 줄에 P1,P2,⋯,PN−1이 공백으로 구분되어 주어진다. i번째 수는 i+1번 노드의 부모 노드 번호를 의미한다. (1≤Pi≤N)

입력은 항상 트리임이 보장된다.

출력

N−1마리 고양이들이 1번 노드를 포함해 멈춰있을 수 있는 노드의 개수를 구했을 때, 이 값들 중 가장 큰 값을 하나의 정수로 출력한다.

힌트

루트 노드는 부모 노드가 없는 노드를, 리프 노드는 자식 노드가 없는 노드를 의미한다.

예제 입력 1 복사

5
1 4 1 3

예제 입력 2 복사

2
1

예제 출력 1 복사

2

예제 출력 2 복사

1