#include <bits/stdc++.h>
using namespace std;
int n,poz[1000010],neg[1000010];
int brojac_za_K,k,unos,max1,max2;
int main (){
    scanf("%d %d",&n,&k);
    for(int i = 1; i <= n; i++){
        scanf("%d",&unos);
        if(unos>=0){
            max1=max(max1,unos);
            poz[unos]++;
            if(poz[unos]==k){
                brojac_za_K++;
            }
        }else{
            unos=abs(unos);
            max2=max(max2,unos);
            neg[unos]++;
            if(neg[unos]==k){
                brojac_za_K++;
            }
        }
    }
    printf("%d\n",brojac_za_K);
    for(int i = 0; i <= max1; i++){
        if(poz[i]>=k){
            cout << i << " ";
        }
    }
    for(int i = 1; i <= max2; i++){
        if(neg[i]>=k){
            cout << -i << " ";
        }
    }
return 0;
}