#include <cstdio>
#include <algorithm>
#include <map>
#include <vector>

using namespace std;

typedef pair <int,int> par;

int N, C;
int niz[1010];
map <int,int> kol, bio;
vector <par> S;

inline bool cmp( const par &a, const par &b ){
  if( a.first != b.first ) return a.first > b.first;
  return a.second < b.second;
}

int main(){
  scanf( "%d %d", &N, &C );
  for( int i = 0; i < N; i++ ){
    scanf( "%d", &niz[i] );
    kol[niz[i]]++;
  }
    
  for( int i = 0; i < N; i++ ){
    if( bio[niz[i]] ) continue;
    bio[niz[i]] = 1;
    S.push_back( par( kol[niz[i]], i ) );
  }

  sort( S.begin(), S.end(), cmp );

  for( int i = 0; i < (int)S.size(); i++ ){
    for( int j = 0; j < S[i].first; j++ )
      printf( "%d ", niz[S[i].second] );
  }
  printf( "\n" );

  return 0;
}
