program stock;
var
a:array[0..1001]of real;
i,j,n,m,lo,wi,k:longint;
p,max:real;
begin
assign(input,'stock.in');
assign(output,'stock.out');
reset(input); rewrite(output);
readln(n);
fillchar(a,sizeof(a),0);
lo:=0; wi:=0; max:=0;
for i:=1 to n do read(a[i]);
readln;
readln(m);
for i:=1 to n-1 do begin
for j:=i+1 to n do begin
inc(lo);
if a[j]>a[i] then begin
inc(wi);
k:=trunc(m/a[i]);
if k<1 then dec(wi)
else if k*(a[j]-a[i])>max then max:=k*(a[j]-a[i]);
end;
end;
end;
writeln(max:0:3);
p:=wi/lo;
writeln(p:0:3);
close(input); close(output);
end.