program sort;

type
   rec = record
      vr, br, kada : longint;
   end;

var
   n, i, j, k : integer; c, x : longint;
   pon : array[1 .. 1000] of rec;

procedure Zamijeni (i, j : integer);
var
   br1, vr1, kada1 : integer;
begin
   br1 := pon[i].br; vr1 := pon[i].vr; kada1 := pon[i].kada;
   pon[i].br := pon[j].br; pon[i].vr := pon[j].vr; pon[i].kada := pon[j].kada;
   pon[j].br := br1; pon[j].vr := vr1; pon[j].kada := kada1;
end;

procedure Sortiraj;
var
   i, j : integer;
begin
   for i := 1 to k do
      for j := i+1 to k do begin
         if pon[i].br<pon[j].br then
            Zamijeni (i, j)
         else begin
            if pon[i].br=pon[j].br then
               if pon[i].kada>pon[j].kada then
                  Zamijeni (i, j);
         end;
      end;
end;

begin
   readln (n, c);
   for i := 1 to n do begin
      read (x);
      j := 0;
      repeat
         Inc (j);
      until (pon[j].vr=x) or (j>k);
      if j>k then begin
         Inc (k);
         pon[k].vr := x;
         Inc (pon[k].br);
         pon[k].kada := i;
      end
      else
         Inc (pon[j].br);
   end;
   Sortiraj;
   for i := 1 to k do
      for j := 1 to pon[i].br do
         if (i=k) and (j=pon[i].br) then
            writeln (pon[i].vr)
         else
            write (pon[i].vr,' ');
end.