var
b,c,yl,i,j,s,n,m:longint;
d:int64;
ans,e:real;
a:array[1..1000]of real;
begin
assign(input,'stock.in');
reset(input);
assign(output,'stock.out');
rewrite(output);
read(n);
for b:=1 to n do
read(a[b]);
read(m);
for b:=1 to n-1 do
for c:=b+1 to n do
begin
inc(s);
if (a[b]<a[c])and(m>a[b]) then
begin
inc(yl);
e:=m/a[b];
if trunc(e)*(a[c]-a[b])>ans then
begin
e:=m/a[b];
ans:=trunc(e)*(a[c]-a[b]);
i:=b;
j:=c;
end;
end;
end;
d:=round(ans*1000);
write(d div 1000,'.');
d:=d mod 1000;
if d>=100 then writeln(d);
if (100>d)and(d>=10) then writeln('0',d);
if d<10 then writeln('00',d);
d:=round(yl/s*1000);
write(d div 1000,'.');
d:=d mod 1000;
if d>=100 then writeln(d);
if (100>d)and(d>=10) then writeln('0',d);
if d<10 then writeln('00',d);
close(input);close(output);
end.