#include <iostream>
#include <vector>
#include <unordered_map>

int main() {
    int n, m;
    std::cin >> n >> m;

    std::vector<int> arr(m);
    for (auto& e : arr) {
        std::cin >> e;
    }

    std::unordered_map<int, int> result;

    for (const auto& item : arr) {
        if (result.find(item) == result.end()) {
            result[item] = 1;
        } else {
            ++result[item];
        }
    }

    std::vector<int> ans;
    for (auto const& [key, val] : result) {
        if (val >= n) {
            ans.emplace_back(key);
        }
    }

    std::cout << ans.size() << '\n';
    for (const auto& e : ans) {
        std::cout << e << ' ';
    }

    return 0;
}