#include <bits/stdc++.h>
using namespace std;
set<int> s;
int Newmex(int x) {
  if (s.find(x) == s.end()) return x;
  return Newmex(x + 1);
}
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0);
  int q, x, mex = 0;
  cin >> q >> x;
  for (int i = 1; i <= q; i++) {
    int y;
    cin >> y;
    if (y == mex) {
      s.insert(y);
      mex = Newmex(mex);
    } else if (y - x == mex) {
      s.insert(y - x);
      mex = Newmex(mex);
    } else if (y + x == mex) {
      s.insert(y + x);
      mex = Newmex(mex);
    } else {
      if (y < mex) {
        int k = y + x;
        while (s.find(k) != s.end()) k += x;
        s.insert(k);
      } else {
        int k = mex;
        while (abs(k - y) % x != 0) {
          k++;
        }
        s.insert(k);
      }
      mex = Newmex(mex);
    }
    cout << mex << "\n";
  }
  return 0;
}
