#include <iostream>

using namespace std;

int main()
{
    int n;
    int k;
    cin >> n;
    cin >> k;
    int *neg = new int[n + 1];
    int *poz = new int[n + 1];
    int nul = 0;
    for(int i = 1; i <= n; i++){
        neg[i] = 0;
        poz[i] = 0;
    }
    int a;
    for(int j = 0; j < n; j++){
        cin >> a;
        if(a == 0) nul++;
        else if(a < 0) neg[0 - a]++;
        else poz[a]++;
    }
    int br = 0;
    int *r = new int[n + 1];
    for(int h = n; h > 0; h--){
        if(neg[h] >= k){
            br++;
            r[br] = 0 - h;
        }
    }
    if(nul >= k){
        br++;
        r[br] = 0;
    }
    for(int l = 1; l <= n; l++){
        if(poz[l] >= k){
            br++;
            r[br] = l;
        }
    }
    cout << br << endl;
    for(int s = 1; s <= br; s++){
        cout << r[s] << " ";
    }
    return 0;
}