uses math;
Var l:array[0..1000] of integer;
i,n,j,ans,ans1,kol,x:integer;
Begin
read(n);
for i:=1 to n do
read(l[i]);
for i:=1 to n-1 do
for j:=i+1 to n do
if (l[j]<l[i]) then begin
x:=l[i];
l[i]:=l[j];
l[j]:=x;
End;
kol:=1;
l[n+1]:=0;
for i:=2 to n+1 do
if (l[i]=l[i-1]) then kol:=kol+1 else
Begin
ans:=max(ans,kol);
kol:=1;
ans1:=ans1+1;
End;
writeln(ans,' ',ans1);
End.
dXNlcyBtYXRoOwoKVmFyICBsOmFycmF5WzAuLjEwMDBdIG9mIGludGVnZXI7CiAgICAgaSxuLGosYW5zLGFuczEsa29sLHg6aW50ZWdlcjsKIEJlZ2luCiAgcmVhZChuKTsKICBmb3IgaTo9MSB0byBuIGRvCiAgIHJlYWQobFtpXSk7CiAgZm9yIGk6PTEgdG8gbi0xIGRvCiAgIGZvciBqOj1pKzEgdG8gbiBkbwogICAgaWYgKGxbal08bFtpXSkgdGhlbiBiZWdpbgogICAgICAgICAgICAgICAgICAgICAgICAgeDo9bFtpXTsKICAgICAgICAgICAgICAgICAgICAgICAgIGxbaV06PWxbal07CiAgICAgICAgICAgICAgICAgICAgICAgICBsW2pdOj14OwogICAgICAgICAgICAgICAgICAgICAgICBFbmQ7CiAgIGtvbDo9MTsKICBsW24rMV06PTA7CiAgIGZvciBpOj0yIHRvICBuKzEgZG8KICAgIGlmIChsW2ldPWxbaS0xXSkgdGhlbiBrb2w6PWtvbCsxIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zOj1tYXgoYW5zLGtvbCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga29sOj0xOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuczE6PWFuczErMTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVuZDsKCiB3cml0ZWxuKGFucywnICcsYW5zMSk7CiBFbmQu