#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int q, x, y;
  cin >> q >> x;
  vector<long long int> a, f(x);
  map<long long int, set<long long int> > m;
  set<long long int> s;
  for (int i = 0; i < x; i++) {
    m[0].insert(i);
    f[i] = 0;
  }
  for (int i = 0; i < q; i++) {
    cin >> y;
    y %= x;
    m[f[y]].erase(m[f[y]].find(y));
    if (m[f[y]].empty()) m.erase(f[y]);
    f[y]++;
    m[f[y]].insert(y);
    long long int v = (m.begin())->first;
    long long int c = *(m.begin()->second).begin();
    cout << v * x + c << endl;
  }
}
