#include <bits/stdc++.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int polja [2000009];
int brojputa [2000009];
int proveri(int broj, int indeks)
{
	for(int i=0;i<indeks;i++)
	{
		if(broj==polja[i]) return i;
	}
	return -1;
}
void ispisi(int k)
{
	int i=0;
	bool prviput=true;
	int brojac=0;
	while (brojputa[i]!=0)
	{
		if(brojputa[i]>=k) brojac++;
		i++;
	}
	printf("%d\n", brojac);
	i=0;
	while(brojputa[i]!=0)
	{
		if(brojputa[i]>=k)
		{
			if(prviput)
			{
				printf("%d", polja[i]);
				prviput=false;
			}
			else
			{
				printf(" %d", polja[i]);
			}
		}
		i++;
	}
}
int main(int argc, char** argv) {
	int n,k;
	scanf("%d", &n);
	scanf("%d", &k);
	int i=0;
	int s=0;
	while(s<n)
	{
		int m;
		scanf("%d", &m);
		int z=proveri(m,i);
		if(s==0)
		{
			polja[0]=m;
			brojputa[0]=1;
		}
		else 
		{
				if(z!=-1)
			{
				brojputa[z]++;
				i--;
			}
			else
			{
				polja[i]=m;
				brojputa[i]++;
			}
		}
		
		s++;
		i++;
	}
	
/*for(int i=0;i<n;i++)
{
	cout<<polja[i]<<endl;
}
for(int i=0;i<n;i++)
{
	cout<<brojputa[i]<<endl;
}*/
	ispisi(k);
	
	return 0;
}