#include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <algorithm>
#define X first
#define Y second

using namespace std;

int main() {
    int n, c;    scanf( "%d %d", &n, &c );
    vector< pair<int,int> > outp;
    int inp[n];
    
    for( int i = 0; i < n; i++ ) {
         scanf( "%d", &inp[i] );
         bool ima = false;
         for( int j = 0; j < outp.size(); j++ )
              if( inp[n-1-outp[j].Y] == inp[i] ) {
                  outp[j].X++;
                  ima = true;
                  break;
              }
         if( !ima ) {
             outp.resize( outp.size() + 1 );
             outp.back().Y = n-1-i;
             outp.back().X = 1;
         }
    }
    
    sort( outp.begin(), outp.end() );
    
    
    for( int i = outp.size()-1; i >= 0; i-- )
         for( int j = 0; j < outp[i].X; j++ )
              printf( "%d ", inp[n-1-outp[i].Y] );
    
    
    printf( "\n" );
    scanf( "%%" );
    return 0;
}
