#include <bits/stdc++.h>

#define int long long
#define ll long long
#define ioigold ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define nl '\n'
#define sz(s) (int)s.size()
#define pb push_back   
#define con continue
#define S second
#define F first

using namespace std;

const int N = (int)3e5 + 7;
const int inF = (int)-1e9 - 7;
const int INF = (int)1e18 + 7;                                                  
const int mod = 1e9 + 7;

void solve(){
	int n, m;
	cin >> n >> m;
	map<int, int> mp;
	set<int> s;

	for(int i = 1; i <= m; ++i){
		int x;
		cin >> x;
		mp[x]++;
		s.insert(x);
	}

	vector<int> ans;
	
	for(auto to : s){
		if(mp[to] >= n){
			ans.pb(to);
		}
	}
	
	cout << sz(ans) << nl;
	for(auto to : ans){
		cout << to << ' ';
	}

}

main() {
	//freopen("complete.in", "r", stdin);
    //freopen("complete.out", "w", stdout);
	                                                                               
	ioigold                                             
	
    int T = 1;
    //cin >> T;

    while(T--){                                                     
    	solve();
    }
}