#include <bits/stdc++.h>
using namespace std;
int n,k;
int fa[100001];
int find(int x)
{
if(fa[x] == x) {return x;}
else {return find(fa[x]);}
}
int maxans(int x)
{
int fmax=-11;
if(find(x)==x) return 1;
for(int i=(x-k<=0?1:x-k);i<=(x+k>n?n:x+k);i++)
{
fmax=max(fmax,maxans(i));
}
return fmax+1;
}
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++) {cin>>fa[i];if(fa[i]==0) fa[i]=i;}
for(int i=1;i<=n;i++)
{
cout<<maxans(i)<<" ";
}
return 0;
}