#include <iostream>
#include <unordered_map>
#include <vector>
using namespace std;


void zaMenjanje(long long int* a,long long int n,int k){
    //Declare the map
    unordered_map<long long int,long long int> hash;
    vector <long long int> menjani;
    int br = 0;
    for(long long int i=0;i<n;i++){
        hash[a[i]]++;
    }

    for(auto it=hash.begin();it!=hash.end();it++)
    if(it->second>=k){
        br++;
        menjani.push_back(it->first);
    }
    cout << br << endl;
    for(auto y: menjani)
        cout << y << " ";


}

int main()
{
    long long int n;
    int k;
    cin>>n >> k;
    long long int* a=(long long int*)(malloc(sizeof(long long int)*n));
    for(long long int i=0;i<n;i++)
    cin >> a[i];
    zaMenjanje(a,n,k);

    return 0;
}