const
maxnum=510;
type
tdata=array[0..maxnum] of longint;
var
n,i,vsum:longint;
vshuchu:extended;
data:tdata;
procedure gcqsort(var data:tdata; st,en:longint);
var
i,j,mid,temp:longint;
begin
i:=st;
j:=en;
mid:=data[(st+en) div 2];
while (i<=j) do
begin
while (data[i]<mid) do
inc(i);
while (data[j]>mid) do
dec(j);
if (i<=j) then
begin
temp:=data[i];
data[i]:=data[j];
data[j]:=temp;
inc(i);
dec(j);
end;
end;
if (st<j) then
gcqsort(data,st,j);
if (i<en) then
gcqsort(data,i,en);
end;
begin
assign(input,'stats.in');
reset(input);
assign(output,'stats.out');
rewrite(output);
readln(n);
vsum:=0;
for i:=1 to n do
begin
readln(data[i]);
inc(vsum,data[i]);
end;
writeln(vsum / n:0:6);
gcqsort(data,1,n);
{for i:=1 to n do
write(data[i],' ');}
if (odd(n)) then
begin
vshuchu:=data[(n div 2)+1];
end
else
begin
{writeln( n div 2);}
vshuchu:=(data[(n div 2)+1]+data[(n div 2)]) / 2;
end;
writeln(vshuchu:0:6);
close(input);
close(output);
end.