program proba1;
 type pcvor=^cvor;
   cvor=record
     broj:longint;
     kol:integer;
     sled:pcvor;
   end;
   var
   n,k:longint;
   i,st:integer;
   poc,pokazivac:pcvor;
   x:longint;

procedure addend(var poc:pcvor;br:longint) ;
        var
         tek,novi:pcvor;
begin
 new(novi);
 novi^.broj:=br;
 novi^.kol:=0;
 tek:=poc;
 if (poc <> nil)  then begin
    while (tek^.sled<> nil) or (tek^.broj<>br) do
                      begin
                         tek:=tek^.sled;
                      end;
                      if tek^.broj=br then tek^.kol:=tek^.kol+1 else
                      tek^.sled:=novi;
   end else
       begin
        poc:=novi;
         end;

end;

begin
  read(n,k);
  new(poc) ;
  for i:=1 to n do
  begin
  read(x);
  addend(poc,x);
  end;
  pokazivac:=poc;
  while pokazivac <> nil do
        begin
        if k<= pokazivac^.kol then 
            begin
            st:=st+1;
            end;
           pokazivac:=pokazivac^.sled; 
        end;
write(st);
pokazivac:=poc;
while pokazivac <> nil do  
    begin
        if k <= pokazivac^.kol then write(pokazivac^.broj);
    end;

end;

  end.