#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,k,*polja,i,p,zameniti = 0;
    
    scanf("%d %d",&n,&k);
    //printf("%d %d",n,k);
    
    //stvarati samo ako je neophodno
    polja = (int*) calloc((n*2+1), sizeof(int));
    
    
    for(i=0;i<n;i++){
        scanf("%d",&p);
        p+=n;
        
        //samo ako nije vec zamenjeno
        if(polja[p]>-1){
            if(++polja[p]>=k){
                polja[p] = -100;
                zameniti++;
            }
        }
        
        //printf("[%d]:%d ",p,polja[p]);
    }
    
    printf("%d\n",zameniti);
    
    for(i=0;i<(n*2+1);i++){
        //printf("%5d ",polja[i]);
        if(polja[i]<0)
            printf("%d ",i-n);
    }
    
    return 0;
}