#include <bits/stdc++.h>
int n, m;
int a[200000];
int g[300];
int main() {
  scanf("%d %d", &n, &m);
  for (int i = 0; i < 290; ++i) g[i] = -1;
  int j, flag;
  for (int i = 0; i < n; ++i) {
    scanf("%d", &a[i]);
    if (g[a[i]] == -1) {
      flag = 0;
      for (j = a[i] - 1; j >= 0 && j >= a[i] - m + 1; --j) {
        if (g[j] >= 0) {
          flag = 1;
          if (a[i] - g[j] < m)
            g[a[i]] = g[j];
          else {
            g[j + 1] = g[a[i]] = j + 1;
          }
          break;
        }
      }
      if (!flag) {
        ++j;
        g[a[i]] = g[j] = j;
      }
    }
  }
  for (int i = 0; i < n; ++i) printf("%d ", g[a[i]]);
  return 0;
}
