족보

시간 제한2초메모리 제한64 MB

문제

외계인 피터는 자신의 족보를 정리하려고 한다. 피터는 몇 주 동안 열심히 작업하여 족보의 초안(베타 버전)을 완성했다.

그런데 족보를 살펴보니 일부 선조가 지나치게 많은 부모를 가지고 있었다. (외계인은 부모를 최대 d명까지 가질 수 있다.) 그래서 피터는 일부 부모-자식 관계가 사실은 더 먼 선조-자손 관계일 것이라고 생각했다.

족보를 만족스러운 형태로 바꾸기 위해 최소 몇 명의 선조를 추가로 넣어야 하는지 구하는 프로그램을 작성하시오.

족보가 만족스러운 형태라는 것은, 모든 외계인의 부모 수가 d명을 넘지 않고 각 외계인이 족보에 정확히 한 번만 등장하는 상태를 말한다.

예를 들어 d가 2이고 피터가 만든 족보의 초안이 아래와 같다면,

아래와 같이 선조 두 명을 추가하면 만족스러운 형태가 된다.

입력

첫째 줄에 두 정수 n과 d가 주어진다. (2 ≤ n ≤ 100,000, 2 ≤ d ≤ n)

둘째 줄에는 n개의 정수가 공백으로 구분되어 주어진다. i번째 정수는 i번 외계인이 자식으로 지목한 외계인의 번호이다. 즉 i번 외계인은 그 외계인의 부모가 된다.

피터의 족보에 등장하는 선조는 1번부터 n번까지 번호로 나타내며, 피터 자신의 번호는 0번이다.

출력

족보를 만족스러운 형태로 바꾸기 위해 추가해야 하는 선조의 최소 인원수를 출력한다.