#include <iostream>
#include <algorithm>

using namespace std;

struct tip {   
   int broj;
   int pojava;
   int puta;
};

void izlaz(int broj, int puta)
{
     for(int i = 0; i != puta; i++)
             cout << broj << " ";
}

int main()
{
    tip niz[1000];
    int N, C, a[1000], el = 0, unos, koliko = 0, i, j; 
    cin >> N >> C; 
    for(i = 0; i != N; i++)
    {
          koliko = 0;
          cin >> unos;
          for(j = 0; j != el; j++)
                if(niz[j].broj == unos)
                               koliko++;
          if(koliko == 0)
          {
                    niz[el].broj = unos;
                    niz[el].pojava = i;
                    niz[el].puta = 1;
                    el++;
          }
          else
          {
                    bool nalaz = false;
                    for(j = 0; nalaz != true; j++)
                          if(niz[j].broj == unos)
                          {
                                         niz[j].puta++; nalaz = true;
                          }
          }
    }
    //for(i = 0; i != el; i++)
      //    cout << niz[i].broj << " " << niz[i].pojava << " " << niz[i].puta << endl;
    
    for (int i=1; i < el; i++) 
    {
        for (int j=0; j < el-i; j++) 
        {
            if (niz[j].puta < niz[j+1].puta)
               swap(niz[j], niz[j+1]);
            else if(niz[j].pojava > niz[j+1].pojava)
               swap(niz[j], niz[j+1]);  
        }
    }
    for(i = 0; i != el; i++)
    {
          int a1, a2;
          a1 = niz[i].broj; a2 = niz[i].puta;
          izlaz(a1, a2);
    }
    return 0;
}
          
          
                                         
                                         
                                          
                    
                               
          
                               
                
                
          
          
    
    
 
    
