program aa;
var
i,j,k,n,m:longint;
x,y:longint;
max,ans:real;
data:array[1..1000] of real;
begin
assign(input,'stock.in'); assign(output,'stock.out');
reset(input);
rewrite(output);
read(n);
for i:=1 to n do
read(data[i]);
read(m);
max:=0;
x:=0;
y:=0;
for i:=1 to n-1 do
for j:=i+1 to n do
begin
inc(x);
if data[i]<=m then
begin
if trunc(m/data[i])*data[j]-trunc(m/data[i])*data[i]>max then max:=trunc(m/data[i])*data[j]-trunc(m/data[i])*data[i];
if data[j]-data[i]>0 then inc(y);
end;
end;
writeln(max:0:3);
writeln(y/x:0:3);
close(input);
close(output);
end.