승진 카운팅
시간 제한2초메모리 제한512 MB
루트가 있는 트리에서 각 노드보다 값이 큰 자손의 수를 센다.
문제
소들이 또다시 스타트업을 차리려 한다. 소는 형편없는 관리자라는 사실을 지난 경험에서 배우지 못한 것이다!
소들에게는 1부터 까지 번호가 붙어 있다 (). 회사는 트리 구조로 조직되며, 1번 소가 사장(트리의 루트)이다. 사장을 제외한 모든 소에게는 관리자가 정확히 한 명 있다(트리에서의 "부모"). 소 에게는 업무 능력을 나타내는 능력치 가 있으며, 모든 소의 능력치는 서로 다르다. 소 가 소 의 조상이면(예를 들어 관리자의 관리자의 관리자), 를 의 부하라고 한다.
안타깝게도 관리자가 여러 부하보다 능력치가 낮은 경우가 자주 있고, 이럴 때 관리자는 부하 몇 명을 승진시키는 것을 고려해야 한다. 이런 상황을 파악하도록 소들을 도와주자. 회사의 모든 소 에 대해, 인 부하 의 수를 구하라.
입력
첫째 줄에 이 주어진다.
다음 개의 줄에는 소들의 능력치 이 한 줄에 하나씩 주어진다. 각 능력치는 1 이상 1,000,000,000 이하의 정수이며 모두 서로 다르다.
다음 개의 줄에는 2번 소부터 번 소까지 각 소의 관리자(부모) 번호가 차례로 주어진다. 1번 소는 사장이므로 관리자가 없다.
출력
개의 줄을 출력한다. 번째 줄에는 소 의 부하 중 소 보다 능력치가 높은 소의 수를 출력한다.