program ss; uses Math; var D: Integer; M: Integer; Numbers: array[0..70000] of Integer; Profit: Integer; I: Integer; MaxPrice: Integer; begin Read(D); while (D > 0) do begin Read(M); Profit := 0; for I := 0 to D - 1 do Read(Numbers[I]); MaxPrice := 0; for I := D - 1 downto 0 do begin MaxPrice := Max(MaxPrice, Numbers[I]); Profit := Max(Profit, (MaxPrice - Numbers[I]) * (M div Numbers[I])); end; WriteLn(Profit); Read(D); end; {WriteLn('hello');} end.