꽁꽁 얼어붙은 트리

문제

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

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

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

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

입력

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

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

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

출력

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

힌트

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

예제 입력 1 복사

5
1 4 1 3

예제 입력 2 복사

2
1

예제 출력 1 복사

2

예제 출력 2 복사

1