#include <bits/stdc++.h>
using namespace std;
int n, x, y, i, j, t, s, sum, k, f;
int a[100010], b[300], c[100010], d[300][2];
int main() {
  scanf("%d%d", &n, &k);
  for (i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
  }
  for (i = 0; i <= 255; i++) b[i] = -1;
  for (i = 0; i < 256; i++) d[i][0] = d[i][1] = -1;
  b[0] = 0;
  d[0][0] = 0;
  d[0][1] = 0;
  for (i = 1; i <= n; i++) {
    if (b[a[i]] >= 0)
      c[i] = b[a[i]];
    else {
      for (j = max(0, a[i] - k + 1); j <= a[i]; j++) {
        if (b[j] >= 0 && b[j] != j) continue;
        f = 0;
        for (int v = j - 1; v >= 0; v--)
          if (d[v][0] != -1) {
            if (d[v][1] > j) f = 1;
            break;
          }
        for (int v = j + 1; v <= 255; v++)
          if (d[v][0] != -1) {
            if (d[v][0] <= a[i]) f = 1;
            break;
          }
        if (f == 0) {
          c[i] = j;
          d[j][0] = j;
          if (d[j][1] < 0 || d[j][1] < a[i]) {
            d[j][1] = a[i];
            for (int v = d[j][0]; v <= d[j][1]; v++) {
              b[v] = j;
            }
          }
          break;
        }
      }
    }
  }
  for (i = 1; i < n; i++) printf("%d ", c[i]);
  printf("%d\n", c[n]);
}
