#include <stdio.h>
#include <stdlib.h>
#define DIM 100000

void quicksort(int number[],int first,int last)
{
    int i, j, pivot, temp;

    if(first<last)
    {
        pivot=first;
        i=first;
        j=last;

        while(i<j)
        {
            while(number[i]<=number[pivot]&&i<last)
                i++;
            while(number[j]>number[pivot])
                j--;
            if(i<j)
            {
                temp=number[i];
                number[i]=number[j];
                number[j]=temp;
            }
        }

        temp=number[pivot];
        number[pivot]=number[j];
        number[j]=temp;
        quicksort(number,first,j-1);
        quicksort(number,j+1,last);

    }
}


int main()
{
    int n, k, niz[DIM], i, br=1, p=0, pom[DIM], m=0;

    scanf("%i %i", &n, &k);
    for(i=0; i<n; i++)
        scanf("%i", &niz[i]);

    quicksort(niz,0,n-1);

    for(i=1; i<n; i++)
        {
            if(niz[i]==niz[i-1])
            {
                br++;
                if(br==k)
                {
                    br=1;
                    pom[p]=niz[i];
                    p++;

                }
            }
            if(niz[i]!=niz[i-1])
            {
                br=1;
            }

        }
    for(i=0;i<p;i++)
    {
        if(pom[i]!=pom[i+1])
        {
           m++;
        }
        else i++;

    }

    printf("%i\n", k);

    for(i=0;i<p;i++)
    {
        if(pom[i]!=pom[i+1])
        {
           printf(" %i", pom[i]);
        }
        else i++;

    }

    return 0;
}