#include <bits/stdc++.h>
using namespace std;
pair<int, int> t[400005 * 4];
void build(int l, int r, int rt) {
  if (l == r) {
    t[rt] = {0, l};
    return;
  }
  int m = l + r >> 1;
  build(l, m, rt << 1);
  build(m + 1, r, rt << 1 | 1);
  t[rt] = min(t[rt << 1], t[rt << 1 | 1]);
}
void add(int pos, int l, int r, int rt) {
  if (l == r) {
    t[rt].first++;
    return;
  }
  int m = l + r >> 1;
  if (pos <= m)
    add(pos, l, m, rt << 1);
  else
    add(pos, m + 1, r, rt << 1 | 1);
  t[rt] = min(t[rt << 1], t[rt << 1 | 1]);
}
int a;
int main() {
  int q, x;
  cin >> q >> x;
  build(0, x - 1, 1);
  while (q--) {
    cin >> a;
    a %= x;
    add(a, 0, x - 1, 1);
    cout << t[1].first * x + t[1].second << '\n';
  }
  return 0;
}
