#include <iostream>
#include <algorithm>
#include <vector>
int main()
{
	int n,k,br=0,menj=0,l=0;
	scanf("%d%d",&n,&k);
	std::vector <int> a(n); 
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	sort(a.begin(),a.end());
	
	for(int i=0;i<n-1;i++)
	{
		if(a[i]==a[i+1])
		{
			br++;
			while(a[i]==a[i+1])
			{
				br++;
				i++;
			}
			if(br>=k)
			menj++;
			br=0;
		}
	}
	std::vector <int> z(menj);
	
	for(int i=0;i<n-1;i++)
	{
		if(a[i]==a[i+1])
		{
			br++;
			while(a[i]==a[i+1])
			{
				br++;
				i++;
			}
			if(br>=k)
			{
				z[l]=a[i];
				l++;	
			}
			br=0;
		}
	}
	printf("%d\n",menj);
	for(int i=0;i<menj;i++)
	{
		printf("%d ",z[i]);
	}
	return 0;
}