#include<bits/stdc++.h>

using namespace std;

int main(){
	long long N,K,temp,konN=0;
	cin>>N>>K;
	vector<long long>niz;
	vector<long long>nizRez;
	vector<long long>nizMenj;
	for(long long i=0;i<N;i++){//vektor sa strelicama
		cin>>temp;
		niz.push_back(temp);
		
	}
	for(long long i=0;i<(N*2+1);i++){//postavljanje default vrednosti za sva polja
		nizRez.push_back(0);
	}
	for(long long i=0;i<N;i++){//dodavanje pravih vrednosti poljima
		if(niz[i]>=0){
			nizRez[niz[i]]++;
		}
		else{
			nizRez[(niz[i]*(-1))+N]++;
		}
	}
	for(long long i=0;i<(N*2+1);i++){//provera koja polja se menjaju
		if(nizRez[i]>=K){
			konN++;
			if(i>N){
				nizMenj.push_back((-1)*i%N);
			}
			else{
				nizMenj.push_back(i);
			}
		}
	}
	cout<<konN<<endl;
	for(long long i=0;i<konN;i++){
		cout<<nizMenj[i]<<" ";
	}
	return 1;
}