program stock;
var
a:array[1..1000]of real;
i,j,q,n,v:longint;
p,ls:real;
begin
assign(input,'stock.in');assign(output,'stock.out');
reset(input);rewrite(output);
readln(n);
for i:=1 to n do read(a[i]);
readln(v);
ls:=0;q:=0;
for i:=1 to n-1 do
for j:=i+1 to n do begin
inc(q);
if (a[j]>a[i])and(a[i]<=v) then
if trunc(v/a[i])*(a[j]-a[i])>=ls then ls:=trunc(v/a[i])*(a[j]-a[i]);
end;
writeln(ls:0:3);
p:=0;
for i:=1 to n-1 do
for j:=i+1 to n do
if (trunc(v/a[i])*(a[j]-a[i])>0)and(a[i]<=v) then p:=p+1/q;
writeln(p:0:3);
close(input);close(output);
end.