#include<iostream>
#include<map>
#include<vector>
#include<algorithm>
#include<cstdio>
#include<cstring>

using namespace std;

int n, c;
map< int, pair<int,int> > m;
vector< pair<pair<int,int>, int> > v;

int main()
{
    int i, j, a;
    scanf("%d %d", &n, &c);
    for(i = 1; i <= n; ++i)
    {
        scanf("%d", &a);
        ++m[a].first;
        if(!m[a].second)
            m[a].second = -i;
    }
    map< int, pair<int,int> >::iterator it;
    for(it = m.begin(); it != m.end(); ++it)
        v.push_back(make_pair(it->second, it->first));
    sort(v.rbegin(), v.rend());
    for(i = 0; i < v.size(); ++i)
        for(j = 0; j < v[i].first.first; ++j)
            printf("%d ", v[i].second);
    printf("\n");
    return 0;
}
