#include <bits/stdc++.h>
using namespace std;

#define ll long long
int main() {
    ll q,x,m=0,ind=0;
    cin>>q>>x;
    ll a[x]={0};
    map<ll,ll>mp;
    while(q--){
        ll v;
        cin>>v;
        mp[v%x]++;
        a[v%x]++;
        if(mp.size()!=x && v%x==ind){
            m=0;
            ind++;
        }
        if(v%x==ind && mp.size()==x){
            m=LLONG_MAX;
            for(auto i=mp.begin();i!=mp.end();i++){
                if(i->second<m){
                    m=i->second;
                    ind=i->first;
                }
            }
        }
        cout<<x*m+ind<<endl;
        
    }
	// your code goes here
	return 0;
}
