program sort;
var n,k,j:integer;
    c: longint;
    p:array[1..1000] of longint;
    q:array[1..1000,1..2] of longint;

procedure ulaz;
var i:integer;
begin
  for i:=1 to n do readln(p[i]);
end;

procedure ispisi(broj, puta:longint);
var i:integer;
begin
  for i:=1 to puta do writeln (broj);
end;

function broji(x:longint):integer;
var i:integer;
begin
  broji:=0;
  for i:=1 to n do
    if p[i]=x then inc(broji);
end;

procedure redukcija;
var i:integer;
    bilo:boolean;
begin
  j:=1;
  q[1,1]:=p[1];
  q[1,2]:=broji(q[1,1]);
  for i:=2 to n do
  begin
    bilo:=false;
    for k:=1 to j do
      if p[i]=q[k,1] then bilo:=true;
    if (bilo=false) then
    begin
      j:=j+1;
      q[j,1]:=p[i];
      q[j,2]:=broji(q[j,1]);
    end;
  end;

end;

procedure provjera;
var i,k, t1, t2:integer;
begin
 for i:=1 to j do
   for k:=i+1 to j do
     if q[i,2]<q[k,2] then
       begin
         t1:=q[k,1];
         t2:=q[k,2];
         q[k,1]:=q[i,1];
         q[k,2]:=q[i,2];
         q[i,1]:=t1;
         q[i,2]:=t2;
       end;
 for i:=1 to j do
   ispisi (q[i,1],q[i,2]);
end;

begin
  readln(n,c);
  ulaz;
  redukcija;
  provjera;
  readln;
end.
