#include <bits/stdc++.h>
using namespace std;
int gi() {
  int a;
  scanf("%d", &a);
  return a;
}
long long gli() {
  long long a;
  scanf("%I64d", &a);
  return a;
}
int c[400000];
map<int, set<int>> m;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int n = gi();
  int x = gi();
  memset(c, 0, sizeof(c));
  for (int i = 0; i < x; i++) m[0].insert(i);
  for (int i = 0; i < n; i++) {
    int a = gi() % x;
    m[c[a]].erase(a);
    if (m[c[a]].size() == 0) m.erase(c[a]);
    c[a]++;
    m[c[a]].insert(a);
    auto it = m.begin();
    long long f = it->first;
    long long w = *(it->second.begin());
    cout << f * x + w << endl;
  }
  return 0;
}
