#include<iostream>
#include<bits/stdc++.h>

using namespace std;

int main(int argc, char **argv){

    string linija, broj;
    int n=0, k=0;
    //Uzimamo prvu liniju sa ulaza
    getline(cin, linija); 
    
    stringstream ulaznaLinija1(linija);
    //Parsiramo liniju i izvlacimo n i k 
    getline(ulaznaLinija1, broj, ' ');
    n = stoi(broj, nullptr);
    
    if(n<1){
        return 1;
    }
    
    int brojBrojeva[n];
    int brojPoljaZaMenjanje=0;
    
    for(int i=0; i<n; i++){
        brojBrojeva[i]=0;
    }
    
    getline(ulaznaLinija1, broj, ' ');
    k = stoi(broj, nullptr);
    
    if(k>1000000){
        return 1;
    }
    
    //Uzimamo drugu liniju sa ulaza
    getline(cin, linija);
    
    stringstream ulaznaLinija2(linija);
    int temp;
    while(getline(ulaznaLinija2, broj, ' ')) {
        temp = stoi(broj, nullptr);
        if(temp<-n || temp>n){
            return 1;
        }
        brojBrojeva[temp]++;
        if(brojBrojeva[temp]==k){
            brojPoljaZaMenjanje++;
        } 
    }
    
    cout << brojPoljaZaMenjanje << endl;
    for(int i=0; i<n; i++){
        if(brojBrojeva[i]>=k){
            cout << i << " ";
        }
    }
    cout<<endl;
    return 0;
}