#include <iostream>
#include <map>
using namespace std;

long long n, c,i;

typedef map<long long, long long> mapa;

mapa countp,pojave;

int main() {
    
    cin >> n >> c; int vrijeme=0;
    
    for(i= 0; i<n; i++,vrijeme++) {
        long long t; cin >> t;
        
        countp[t] = countp[t]+1;
        if(!pojave.count(t)) pojave[t] = vrijeme;
        
    }
    
    mapa::iterator it;
    
    for(n=n; n>0; n--) {
        long long mk = 0; long long koji = 0;
        
        for(it = countp.begin(); it != countp.end(); it++) 
            if (((*it).second > mk) || (((*it).second == mk) && (pojave[(*it).first] < pojave[koji]))) { koji = (*it).first; mk = (*it).second; }
            
        for(i=0; i < mk; i++)
            cout << koji << " ";
        countp[koji] = -1; }
            
            
            cout << endl;
    //system("pause");
}
