#include <bits/stdc++.h>
using namespace std;
int n,k,nule,br,a;
long long nizp[1000100];
long long nizn[1000100];
int main(){
    cin>>n>>k;
    for(int i=1;i<=n;i++){
        cin>>a;
        if(a>0){ nizp[a]++; }
        else if(a<0){ nizn[a*(-1)]++; }
        if(a==0){nule++;}
    }
    for(int i=1;i<=n;i++){
        if(nizp[i]>=k){br++;}
        if(nizn[i]>=k){br++;}
    }
    if(nule>=k){br++;}
    cout<<br<<endl;
    for(int i=1;i<=n;i++){
        if(nizp[i]>=k){cout<<i<<" ";}
        if(nizn[i]>=k){cout<<i*(-1)<<" ";}
    }
    if(nule>=k){cout<<0<<" ";}
    return 0;
}