#include <iostream>
#include <unordered_map>
#include <vector>
#define repeat(n) for (int i = 0; i < n; i++)

using namespace std;

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	unordered_map<int, int> pogodjena_polja;
	int n,k;
	cin >> n >> k;
	repeat(n) {
		int uneto_polje;
		cin >> uneto_polje;
		pogodjena_polja[uneto_polje]++;
	}

	vector<int> za_menjanje; za_menjanje.reserve(n);
	for (auto kvp : pogodjena_polja) {
		if (kvp.second >= k){
			za_menjanje.push_back(kvp.first);
		}
	}
	
	cout << za_menjanje.size() <<"\n";
	for (int polje: za_menjanje) {
		cout << polje << " ";
	}
	return 0;
}