#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  int k;
  cin >> n >> k;
  int max1, min;
  int a[n];
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  int ans[n];
  for (int i = 0; i < n; i++) {
    ans[i] = 0;
  }
  int max;
  int inc;
  int pre;
  if (k == 0) {
    for (int i = 0; i < n; i++) {
      if (a[i] == 0) {
        ans[i] = 1;
      } else {
        ans[i] = ans[a[i] - 1] + 1;
      }
    }
  } else {
    for (int i = 0; i < n; i++) {
      pre = i;
      if (a[i] == 0) {
        if (i - k < 0) {
          max1 = 0;
        } else {
          max1 = i - k;
        }
        if (i + k < n - 1) {
          min = i + k;
        } else {
          min = n - 1;
        }
        ans[i] = min - max1 + 1;
      } else {
        if (i - k > a[i] + k) {
          if (i - k > 0) {
            min = i - k;
          } else {
            min = 0;
          }
        } else {
          min = a[i] + k;
        }
        if (min > n - 1) {
          min = n;
        }
        if (i + k < n) {
          max = i + k;
        } else {
          max = n - 1;
        }
        ans[i] = ans[a[i] - 1] + max - min + 1;
      }
    }
  }
  for (int i = 0; i < n; i++) {
    cout << ans[i] << " ";
  }
}
