#include <iostream>

int main(int argc, char** argv) {
	
	long N, K;
	long arrTabla[2 * N + 1];
	for(long i = 0; i < 2 * N + 1; i++) {
		arrTabla[i] = 0;
	}

	// Citanje N i K
	scanf("%ld %ld", &N, &K);
	
	// Citanje Niza	
	for(long i = 0; i < N; i++) {
		long x;
		scanf("%ld", &x);
		arrTabla[x + N]++;
	}
    
    // Prebrojavanje polja za zamenu
    long nSuma = 0;
	for(long i = 0; i < 2 * N + 1; i++) {
		if(arrTabla[i] >= K) {
			nSuma++;
		}
	}
	printf("%ld\n", nSuma);

	// Ispis polja za zamenu
	for(long i = 0; i < 2 * N + 1; i++) {
		if(arrTabla[i] >= K) {
			printf("%ld ", i - N);
		}
	}
	
	return 0;
}