#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
vector<int>ko[100000];
int ans=0;
int gen;
int dfs(int node,int p)
{
	int maxi=0;
	for(int i=0;i<ko[node].size();i++)
	{
		maxi=max(maxi,dfs(ko[node][i],node));
	}
	if(maxi+1==gen)
	{
		if(p!=0)ans++;
		return 0;
	}
	else return maxi+1;
}
int main()
{
	int num;
	scanf("%d%d",&num,&gen);
	for(int i=0;i<num;i++)
	{
		int z;
		scanf("%d",&z);
		z--;
		if(i==0)
		{
			if(z!=0)ans++;
		}
		else ko[z].push_back(i);
	}
	dfs(0,0);
	printf("%d\n",ans);
}