농부 존의 소들은 $1 \dots N$번으로 번호가 매겨진 $N$개의 목초지($2 \le N \le 200{,}000$)에서 산다. 길이가 모두 $1$인 양방향 길이 정확히 $N - 1$개 있어서, 어떤 목초지에서 출발하든 다른 모든 목초지에 도달할 수 있다. 즉, 목초지와 길은 하나의 트리를 이룬다.
각 목초지 $i$는 부모 $P_i$($0 \le P_i \le N$)로 주어진다. 루트 목초지는 $P_i = 0$이며, 부모가 없다는 뜻이다.
소들은 $1 \dots K$번으로 번호가 매겨진 $K$개의 정당($1 \le K \le N/2$)을 만들었다. 모든 소는 정확히 하나의 정당에 속하며, 소 $i$는 정당 $A_i$($1 \le A_i \le K$)에 속한다. 각 정당에는 소가 최소 두 마리 있다.
정당의 범위란 그 정당에 속한 두 소 사이의 최대 거리이다. 두 소 사이의 거리는 두 소가 있는 목초지를 잇는 경로에 포함된 길의 개수이다.
예를 들어 정당 1이 소 1, 3, 6으로, 정당 2가 소 2, 4, 5로 이루어져 있고, 목초지가 아래처럼 연결되어 있다고 하자(정당 1에 속한 소는 양옆에 -가 붙어 있다).
-3-
|
-1-
/ | \
2 4 5
|
-6-
정당 1에 속한 두 소 사이의 최대 거리는 3이고(소 3과 소 6 사이), 정당 2의 최대 거리는 2이다(예: 소 2와 소 4 사이). 따라서 정당 1의 범위는 3, 정당 2의 범위는 2이다.
각 정당의 범위를 구하라.