#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <vector>
#include <queue>
#include <cmath>
#include <algorithm>


using namespace std;

int main(){
    vector < pair<int, int> > sol;
int n,c;
cin >> n >> c;
int a[n];
for(int i=0;i<n;i++)cin >> a[i];
pair<int,int> x;
int s,t;
bool Y[n];
memset(Y,0,sizeof Y);
for(int i=0;i<n;i++){
        s=0;
if(Y[i]==0){t=i;
            while(t!=n){if(a[i]==a[t]){s++;Y[t]=1;}
                        t++;
                        }
                        x=make_pair(a[i],s);                      
                        sol.push_back(x);
                        }

}
int test=1;

for(int j=1;j<sol.size();j++){
for(int i=0;i<sol.size()-j;i++){
        if(sol[i].second<sol[i+1].second)swap(sol[i],sol[i+1]);
               }
                }
for(int i=0;i<sol.size();i++){
        for(int j=0;j<sol[i].second;j++)cout << sol[i].first << " ";
        }
cout << endl;
    system("pause");
    return 0;
}
