#include <iostream>
#include <iomanip>
#include <math.h>
#include <vector>
using namespace std;
int main()
{
	vector<int> poc_niz;
	vector<int> izlaz;
	int n, k, brojac;
	int br = 0;
	cin >> n >> k;
	poc_niz.resize(n);
	izlaz.resize(n / 2);
	for (int i = 0; i < n / 2; i++)
	{
		izlaz[i] = 1001;
	}
	niz(n, poc_niz, brojac, k, izlaz, br);
	cout << br << endl;
	for (int i = 0; i < br; i++)
	{
		cout << izlaz[i] << ' ';
	}
	return 0;
}

void niz(int n, std::vector<int>& poc_niz, int& brojac, int k, std::vector<int>& izlaz, int& br)
{
	bool duplikat = false;
	for (int i = 0; i < n; i++)
	{
		cin >> poc_niz[i];
	}
	for (int i = 0; i < n; i++)
	{
		brojac = 0;
		duplikat = false;
		for (int j = i; j < n; j++)
		{
			if (poc_niz[i] == poc_niz[j])
			{
				brojac++;
			}
		}
		if (brojac >= k)
		{
			for (int k = 0; k <= br ; k++)
			{
				if (izlaz[k] == poc_niz[i])
				{
					duplikat = true;
				}
			}
			if (!duplikat)
			{
				izlaz[br] = poc_niz[i];
				br++;
			}
		}
	}
}