#include<bits/stdc++.h>
#define MAXN (int)2e6+20
#define A (int)-1e6
using namespace std;
int n, k, res=0;
int mn=MAXN, mx=-MAXN;
int cnt[MAXN];
int izlaz[MAXN];
int main()
{
    cin >> n >> k;
    for(int i=0;i<n;i++)
    {
        int a; cin >> a;
        cnt[a+A]++;
        mn=min(mn, a);
        mx=max(mx, a);
    }
    for(int i=mn;i<=mx;i++)if(cnt[i+A]>=k)izlaz[res++]=i;
    cout << res << endl;
    for(int i=0;i<res;i++)cout << izlaz[i] << " ";
    return 0;
}