#include <bits/stdc++.h>
using namespace std;
int main() {
  long long q, k;
  cin >> q >> k;
  std::unordered_map<long long, long long> mp;
  long long ini = 0;
  while (q--) {
    long long num;
    cin >> num;
    mp[num]++;
    if (num - k >= 0 && mp[num - k] == 0) {
      mp[num - k]++;
      mp[num]--;
    }
    if (mp[num] > 1) {
      if (mp[num + k] == 0) {
        mp[num + k]++;
        mp[num]--;
      }
    }
    if (mp[ini] == 0)
      cout << ini << endl;
    else {
      while (mp[ini] != 0) ini++;
      cout << ini << endl;
    }
  }
}
