{$M 400000000}
const maxn = 10000;
      fi = '';
      fo = '';
var k,n,res:word;
    a: array[1..maxn] of word;
    dp: array[1..maxn] of word;
    g: array[1..maxn,0..maxn] of word;
procedure enter;
var i,u:word;
begin
  assign(input,fi);
  reset(input);
  readln(k);
  readln(n);
  for i:=1 to n do
  begin
    dp[i]:=0;
    g[i,0]:=0;
  end;
  dp[1]:=1;
  a[1]:=0;
  for i:=2 to n do
  begin
    read(a[i]);
    inc(g[a[i],0]);
    g[a[i],g[a[i],0]]:=i;
    u:=i;
    repeat
      inc(dp[u]);
      u:=a[u];
    until u=0;
  end;
  close(input);
end;
procedure dfs(i:longint);
var u,j:word;
begin
  for j:=1 to g[i,0] do
  dfs(g[i,j]);
  if dp[i]>=k then
  begin
    inc(res);
    u:=a[i];
    repeat
      dec(dp[u],dp[i]);
      u:=a[u]
    until u=0;
    dp[i]:=0;
  end;
end;
procedure solve;
begin
  assign(output,fo);
  rewrite(output);
  res:=0;
  dfs(1);
  writeln(res);
  close(output);
end;
begin
  enter;
  solve;
end.