#include <bits/stdc++.h>
using namespace std;
const int maxn = 5e5 + 5;
const int inf = 0x3f3f3f3f;
vector<int> fuck(maxn);
set<int> st[maxn];
int main() {
  int q, x;
  scanf("%d %d", &q, &x);
  for (int i = 0; i < x; i++) st[0].insert(i);
  int mn = 0;
  for (int i = 1; i <= q; i++) {
    int y;
    scanf("%d", &y);
    st[fuck[y % x]].erase(y % x);
    fuck[y % x]++;
    st[fuck[y % x]].insert(y % x);
    while (st[mn].empty()) mn++;
    printf("%d\n", x * mn + *st[mn].begin());
  }
  return 0;
}
