#include <bits/stdc++.h>
using namespace std;
const long long int inf = (1LL << 60) - 1;
const long long int N = 3e5 + 5;
vector<long long int> graph[N];
vector<bool> visited(N);
long long int arr[N], dp[N][2], b[N];
long long int n, m, k;
int32_t main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int T = 1;
  while (T--) {
    long long int q, x;
    cin >> q >> x;
    long long int mex = 0;
    map<long long int, long long int> mp;
    while (q--) {
      long long int t;
      cin >> t;
      mp[t % x]++;
      while (mp[mex % x] > 0) {
        mp[mex % x]--;
        mex++;
      }
      cout << mex << endl;
    }
  }
}
