#include <cstdio>
#include <algorithm>
#include <map>

using namespace std;

map < int, pair < int, int > > mapa; 
map < int, pair < int, int > >::iterator it;

int niz[1010], n;

inline bool cmp( int a, int b ) {
	map < int, pair < int, int > >::iterator A, B;
	A = mapa.find( a );
	B = mapa.find( b );
	return A->second.second > B->second.second || A->second.second == B->second.second && A->second.first < B->second.first;
}


int main(void) {
	int i;
	int sto_ce_mi_ovo;
	scanf("%d%d", &n, &sto_ce_mi_ovo);
	for ( i = 0; i < n; ++i ) {
		scanf("%d", niz + i);

		it = mapa.find( niz[i] );
		if ( it == mapa.end() )
			mapa.insert( make_pair( niz[i], make_pair( i, 1 ) ) );
		else {
			++it->second.second;
		}
	}
	
	sort( niz, niz + n, cmp );
	
	for ( i = 0; i < n; ++i )
		printf("%d ", niz[i]);
	printf("\n");
	
	
	return 0;
}
