#P2830. Max Sequence II

Max Sequence II

Description

Given N real numbers a1, a2, …, aN, you are to write a program to calculate P as defined below.

P=\max_{1\leq i\leq j\leq N}\left\{\prod_{k=i}^ja_k\right\}

Input

The input consists of several test cases. Each test case consists of two lines:

Line 1: A single positive integer N ≤ 100,000.

Line 2: N real numbers a1, a2, …, aN (|ai| ≤ 30 for all i s.t. 1 ≤ iN) which are either integral or accurate to one digit after decimal point.

Process to the end of input.

Output

For each test case, output P in scientific notation in a single line. If P is equal to zero, output “0.000”. If 1 ≤ |P| < 10, output P directly with its fractional part rounded to three decimal places. In any other cases, output P in the format xEn where P = x × 10n (1 ≤ |x| < 10 and n is an integer). x should also be rounded to three digits after decimal point.

5
-5.0 2.0 3.0 -2.0 0.5
3
-1 0 -1
6.000E1
0.000

Hint

Built-in floating-point types provided by the compilers may not hold P.

Source

POJ Monthly--2006.05.28, Static