#include <algorithm>
#include <cstdio>
#include <map>
using namespace std;

const int MaxN = 1100;

int n, c, niz[ MaxN ];
map < int, int > M;
map < int, int > N;

bool cmp( const int &a, const int &b ) {
     return M[ a ] > M[ b ] || M[ a ] == M[ b ] && N[ a ] < N[ b ];
}

int main( void ) {
    scanf( "%d %d", &n, &c );
    for( int i = 0; i < n; ++i ) {
         scanf( "%d", &niz[ i ] );
         if( !M.count( niz[ i ] ) ) N[ niz[ i ] ] = i; 
         ++M[ niz[ i ] ];
    }
    
    sort( niz, niz+n, cmp );
    
    for( int i = 0; i < n; ++i ) {
         if( i ) printf( " " );
         printf( "%d", niz[ i ] );
    }  
    printf( "\n" );
    
    return 0;
}
