#include <iostream>
#include <unordered_map>
#include <vector>
using namespace std;

// Key: oznaka polja
// Value: broj puta koliko je to polje pogodjeno
unordered_map<int, int> mapa;

// Sva polja koja su pogodjena dva ili vise puta
vector<int> zameniti;

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(0);

	int n, k;
	cin >> n >> k;

	for (int i = 0; i < n; i++)
	{
		int a;
		cin >> a;
		// Povecaj broj pojavljivanja
		mapa[a]++; 
		// Ako se pojavio k puta treba se zameniti
		if (mapa[a] == k) 
			zameniti.push_back(a);
	}

	// Ispisi polja koja treba zameniti
	cout << zameniti.size() << "\n";
	for (auto i = zameniti.begin(); i != zameniti.end(); i++)
	{
		cout << *i << " ";
	}
	
	return 0;
}