#include <iostream>
#include <set>
#include <cstdlib>

int main() {
	std::ios_base::sync_with_stdio(false);

	int N, K, A;
	std::cin >> N >> K;

	int *polja = (int*)calloc(N * 2 + 1, sizeof(int));
	std::set<int> slomljena_polja;

	for (int i = 0; i < N; i++) {
		std::cin >> A;
		if (++polja[A + N] >= K)
			slomljena_polja.insert(A);
	}

	std::cout << slomljena_polja.size() << std::endl;

	std::set<int>::iterator it;
	for (it = slomljena_polja.begin(); it != slomljena_polja.end(); it++) std::cout << *it << " ";

	return 0;
}