program concurs; var f,g:text; i,csere2,l,csere,p,min,hej,max,hany,o,k,db:integer; e,uje:array[1..1000] of integer; j,ujj:array[1..50] of integer; s:array[1..50] of integer; n:array[1..50] of byte; begin assign(f,'concurs.in'); assign(g,'concurs.out'); reset(f); rewrite(g); readln(f,p); while not eof(f) do begin db:=db+1; read(f,j[db],e[db]); readln(f); end; for i:=1 to p do if s[j[i]] = 0 then s[j[i]]:=1; for i:=1 to 50 do if s[i]=1 then o:=o+1; writeln(g,o); db:=1; for i:=1 to 50 do begin if j[i] <>0 then begin for k:=1 to 50 do begin if j[i]=k then n[k]:=n[k]+1; end; db:=db+1; end; end; for i:=1 to 50 do if n[i]<>0 then write(g,n[i],' '); writeln(g); min:=maxint; for k:=1 to p do begin for i:=1 to p do begin if e[i]