#include <bits/stdc++.h>
using namespace std;
int main() {
  int q, x;
  cin >> q >> x;
  multiset<int> st;
  for (int i = 0; i < x; i++) {
    st.insert(i);
  }
  map<int, int> mp;
  while (q--) {
    int y;
    cin >> y;
    st.erase(st.find(mp[y % x] * x + y % x));
    mp[y % x]++;
    st.insert(mp[y % x] * x + y % x);
    cout << *st.begin() << endl;
  }
}
