#include <iostream>
using namespace std;

int main()
{
    int N,K;
    cin >> N >> K;
    int a,brojac=0;
    int* poz = new int[N] {};
    int* neg = new int[N] {};
    int* brojevi = new int[N*2] {};
    for (int i=0;i<N;i++) {
        cin >> a;
        if (a >= 0) {
            poz[a]++;
        } else {
            neg[a*(-1)-1]++;
        }
    }

    for (int i=0;i<N;i++) {
        if (poz[i] >= K) {
            brojac++;
        }
    }
    for (int i=0;i<N;i++) {
        if (neg[i] >= K) {
            brojac++;
        }
    }
    cout << brojac << endl;
    for (int i=0;i<N;i++) {
        if (neg[i] >= K) {
            cout << (i+1)*(-1) << " ";
        }
    }
    for (int i=0;i<N;i++) {
        if (poz[i] >= K) {
            cout << i << " ";
        }
    }

}