#include<stdio.h>
#include<vector>

#include<iostream>

void input(std::vector<int>&, int&, int&);
std::vector<int> calc(std::vector<int>, int, int);
void output(std::vector<int>&);

int main(){
    std::vector<int> in;
    int n;
    int k;

    input(in, n, k);
    auto res = calc(in, n, k);
    output(res);

    return 0;
}

void input(std::vector<int>& t_in, int& t_n, int& t_k){
    std::cin >> t_n >> t_k;
    t_in.resize(t_n);
    for(auto& i : t_in) std::cin >> i;
}

std::vector<int> calc(std::vector<int> t_in, int t_n, int t_k){
    std::vector<int> count(2*t_n + 1);
    std::vector<int> res;

    for(int i = 0; i < t_in.size(); ++i){
        ++count[t_in[i] + t_n];
        if(count[t_in[i] + t_n] == t_k){
            res.push_back(t_in[i]);
        }
    }

    return res;
}

void output(std::vector<int>& t_res){
    std::cout << t_res.size() << std::endl;
    for(auto& t : t_res) std::cout << t << " ";
    std::cout << std::endl;
}