#include<iostream>
#include <algorithm>


int main(){
	
	int N , K;
	std::cin>>N>>K;
	
	int pogodci[N];
	
	for( int i =0;i<N;i++){
		
		std::cin>>pogodci[i];
		
	}
	
	std::sort(pogodci,pogodci+N);
	
	int broj_polja_koja_treba_zameniti=0;
	
	int test = 0;
	int j = -1;
	
	int resenja [N];
	int brojac_resenja=0;
	
	
	while(j<N-1){
		
		j=j+1;
		
		if(pogodci[j]==pogodci[j+1]){
			test = test+1;
		}
		else{
			test=0;
		}
		
		
		if(test==K-1){
			
			broj_polja_koja_treba_zameniti+=1;
			resenja[brojac_resenja]=pogodci[j];
			brojac_resenja+=1;
			int priveremno =j+1;
			j+=2;
			while(pogodci[j]==pogodci[priveremno]){
				j=j+1;
			}
			j=j-1;
			test=0;
				
		}
		
	}
	
	std::cout<<broj_polja_koja_treba_zameniti<<std::endl;
	
	for(int b = 0;b<brojac_resenja;b++){
		
		std::cout<<resenja[b]<<" ";
		
	}
    return 0;
}