#include <bits/stdc++.h>
using namespace std;
int main() {
  int q, x;
  cin >> q >> x;
  vector<int> v;
  unordered_map<int, int> m;
  int las = -1;
  set<pair<int, int>> s;
  for (int i = 0; i <= x - 1; i++) {
    s.insert(make_pair(0, i));
  }
  for (int j = 0; j < q; j++) {
    int a;
    cin >> a;
    s.erase(make_pair(m[a % x], a % x));
    m[a % x]++;
    s.insert(make_pair(m[a % x], a % x));
    auto i = s.begin();
    int l = i->first;
    int r = i->second;
    cout << l * x + r << endl;
  }
}
