#include<bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(0); cin.tie(0);
int n, d; cin >> n >> d;
vector<int> dep(n), P(n);
for(int i = 1; i < n; ++i) {
cin >> P[i];
dep[i] = dep[P[i]] + 1;
}
vector<int> od(n);
iota(od.begin(), od.end(), 0);
sort(od.begin(), od.end(), [&](auto a, auto b) { return dep[a] > dep[b]; });
vector<int> dis(n, d);
int ans = 0;
for(auto i : od) {
int c = i;
bool ok = 1;
for(int i = 0; i < d && ok; ++i) {
if(dis[c] + i < d) ok = 0;
dis[c] = i;
if(!c) break;
c = P[c];
}
ans += ok;
}
cout << ans << '\n';
}