#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>

using namespace std;

class _broj {
public:
	int broj;
	int kolko;
	int di;
    
    _broj() {di = -1;}  

};

bool operator < (const _broj &x, const _broj &y) {
	if (x.broj == y.broj) return true;
		
	if (x.kolko == y.kolko) {
		if (x.di < y.di) return true; else return false;
	} else {
		if (x.kolko > y.kolko) return true; else return false;
	}
}


int n, c;
_broj a[1005];

int k;

int main(void) {
	scanf("%d", &n);
	scanf("%d", &c);

	for(int i = 0; i < n; ++i) scanf("%d", &a[i].broj);

	for(int i = 0; i < n; ++i) {
		if (a[i].di == -1) {
			a[i].di = i;		
			k = 1;

			for(int j = i + 1; j < n; ++j) {
				if (a[i].broj == a[j].broj) {
					a[j].di = i;
					++k;
				}
			}

			a[i].kolko = k;

			for(int j = i + 1; j < n; ++j) if (a[i].broj == a[j].broj) a[j].kolko = k;
		}
	}

	sort(a, a + n);
	
	for(int i = 0; i < n; ++i) printf("%d ", a[i].broj);

	//system("pause");
	return 0;
}
