#include <stdio.h>
#include <stdlib.h>
#define MAX_Niza 1000

int main()
{
   long long int N,K,i,j,t;


    scanf("%lli", &N);
    scanf("%lli", &K);


    long long int a[N],b[N];

    for(i = 0; i < N; i++){

        scanf("%lli", &a[i]);
        if(a[i]>N || a[i]<(-1)*N)
            return 0;
    }
    for(i=0;i < N-1; i++)
        for(j=i + 1;j <N;j++)
            if(a[i]>a[j]){
                t = a[i];
                a[i]=a[j];
                a[j]=t;

            }

    if(N<=0 || K<=0)
        return 0;
    if(K==1)
    {
       j=0;
      for(i=0;i<N;i++){
        if(a[i]!=b[j-1]){
          b[j]=a[i];

     j++;
        }

      }
       printf("%lli\n",j);
     for(i=0;i<j;i++)
        printf("%lli ",b[i]);



       return 0;

     }


      j=0;
    for(i=0;i<N;i+=t+1){


       for(t=0;t<K-1;t++){
         if(a[i]==a[i+1]);
         else
        goto SRB;
    if(b[j-1]==a[i])
        goto SRB;


       }
    b[j]=a[i];

    j++;




     SRB:
    continue;
    }printf("%lli\n",j);
     for(i=0;i<j;i++)
        printf("%lli ",b[i]);
    return 0;
}