#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int q, x;
  cin >> q >> x;
  vector<long long int> spare;
  long long int mex = 0;
  vector<long long int> chk(x, 0);
  multiset<long long int> s;
  for (long long int i = 0; i < q; i++) {
    long long int y;
    cin >> y;
    if (i == 0) {
      if (y == 0)
        s.insert(0), mex = 1;
      else
        chk[y % x]++;
    } else {
      if (y == mex)
        s.insert(y), mex++;
      else
        chk[y % x]++;
      while (chk[mex % x] > 0) chk[mex % x]--, s.insert(mex), mex++;
    }
    cout << mex << endl;
  }
}
