#include <cstdio>
#include <iostream>
#include <cmath>
#include <ctime>
#include <vector>
#define pb push_back

using namespace std;

vector< pair<int, int> >br;
vector<int>niz;
vector<int>lulz;


int main (){
    int n, c, x; cin >> n >> c;
    pair<int, int>broj; 
    for(int i=0; i<n; i++){
        cin >> x;
        niz.pb(x);
    }
    for(int i=0; i<n; i++){
        int a = niz[i], b = 0, y = 0;
        for(int j=0; j<n; j++)
            if(niz[j]==a) b++;
        for(int j=0; j<br.size(); j++)
            if(a==br[j].first){ y = 1; break; }
        if(!y){
            br.pb(make_pair(a, b)); 
            lulz.pb(a);
        }
    }    
    int k=1;
    while(k){
        k=0;
        for(int i=br.size()-1; i>0; i--){
            if(br[i].second > br[i-1].second){
                pair<int,int>help = br[i];
                br[i] = br[i-1];
                br[i-1] = help;
                k=1;
            }
        }
    }
    for(int i=0; i<br.size(); i++)
        for(int j=0; j<br[i].second; j++)
            cout << br[i].first << " ";
            
    cout << endl;

    return 0;
}
