import java.util.*;
import java.io.*;
public class Main
{
    public static void main(String args[])throws Exception
    {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        PrintWriter pw=new PrintWriter(System.out);
        //int t=Integer.parseInt(br.readLine());
        //for(int x=0;x<t;x++)
        //{
            String str[]=br.readLine().split(" ");
            int q=Integer.parseInt(str[0]);
            int x=Integer.parseInt(str[1]);
            int arr[]=new int[x];
            TreeSet<Long> ts=new TreeSet<>();
            for(long i=0;i<x;i++)
            ts.add(i);
            for(int i=0;i<q;i++)
            {
                int n=Integer.parseInt(br.readLine());
                if(n%x==ts.first()%x)
                {
                    ts.pollFirst();
                    arr[n%x]++;
                    ts.add(1L*x*arr[n%x]+n%x);
                }
                else
                {
                    ts.remove(new Long(1L*x*arr[n%x]+n%x));
                    arr[n%x]++;
                    ts.add(1L*x*arr[n%x]+n%x);
                }
                pw.println(ts.first());
            }
        //}
        pw.flush();
        pw.close();
    }
}