바이트랜디아의 한 도시에서 강도 사건이 일어났다. 도둑은 달아나 도시 안 어딘가에 숨었다. 이 사건을 맡은 수사관인 당신의 목표는 도둑을 찾아내 붙잡는 것이다.
도시에는 집 N채와 도로 N−1개가 있다. 도로는 집 두 채를 잇고, 어느 두 집 사이에도 경로가 정확히 하나만 있다. 즉 도시는 트리 구조다. 도둑은 이 가운데 한 집에 숨어 있다.
도둑의 위치를 좁히려면 집 h를 하나 골라 수색한다. 도둑이 그 집에 숨어 있었다면 그 자리에서 붙잡는다. 그렇지 않으면 그 집에 사는 사람들을 심문해서 다음 정보를 얻는다. 도시를 집 h를 뿌리로 하는 트리로 보고 h의 자식을 c1,c2,…,cm이라 하면, 어떤 i (1≤i≤m)에 대해 도둑은 ci를 뿌리로 하는 서브트리의 집 가운데 한 곳에 숨어 있다.
도둑을 찾아 붙잡을 때까지 수색을 계속해야 한다. 수사가 끝날 때까지 도둑은 처음 숨은 집에 그대로 머무른다고 가정한다. 도둑을 붙잡은 마지막 수색도 수색한 집의 수에 센다.
집을 수색하는 순서는 중요하다. 어떤 집에서 도둑을 찾지 못해도 위 정보를 받으면 도둑이 숨어 있을 수 있는 집의 수가 크게 줄어든다. 그래서 최악의 경우에 수색하는 집의 수를 가장 적게 만드는 전략이 필요하다.
도시의 정보가 주어진다. 최적 전략을 따를 때 최악의 경우에 수색해야 하는 집의 수를 구하라.
첫째 줄에 도시의 집의 수 N이 주어진다. 집에는 0부터 N−1까지 번호가 붙어 있다.
둘째 줄에 공백으로 구분된 정수 N−1개 v1 v2 … vN−1이 주어진다. vi (1≤i≤N−1)는 번호가 vi인 집과 번호가 i인 집을 잇는 도로가 있다는 뜻이고, vi<i이다.
2≤N≤105이다.
최적 전략으로 수색할 때 최악의 경우에 수색해야 하는 집의 수를 정수 하나로 출력한다.