In the year 2020, a race of atomically energized cars will be held. Unlike todayfs car races, fueling is not a concern of racing teams. Cars can run throughout the course without any refueling. Instead, the critical factor is tire (tyre). Teams should carefully plan where to change tires of their cars.

The race is a road race having n checkpoints in the course. Their distances from the start are *a*_{1}, *a*_{2}, ... , and *a _{n}* (in kilometers). The

A car cannot run fast for a while after a tire change, because the temperature of tires is lower
than the designed optimum. After running long without any tire changes, on the other hand,
a car cannot run fast because worn tires cannot grip the road surface well. The time to run
an interval of one kilometer from *x* to *x* + 1 is given by the following expression (in seconds).
Here *x* is a nonnegative integer denoting the distance (in kilometers) from the latest checkpoint
where tires are changed (or the start). *r*, *v*, *e* and *f* are given constants.

1/(v-e× (x-r)) (ifx≥r) 1/(v-f× (r-x)) (ifx<r)

Your mission is to write a program to determine the best strategy of tire changes which minimizes the total time to the goal.

The input consists of multiple datasets each corresponding to a race situation. The format of a dataset is as follows.

na_{1}a_{2}. . .a_{n}br v e f

The meaning of each of the input items is given in the problem statement. If an input line contains two or more input items, they are separated by a space.

*n* is a positive integer not exceeding 100. Each of *a*_{1}, *a*_{2}, ... , and *a _{n}* is a positive integer satisfying 0 <

The end of the input is indicated by a line with a single zero.

For each dataset in the input, one line containing a decimal fraction should be output. The decimal fraction should give the elapsed time at the goal (in seconds) when the best strategy is taken. An output line should not contain extra characters such as spaces.

The answer should not have an error greater than 0.001. You may output any number of digits after the decimal point, provided that the above accuracy condition is satisfied.

2 2 3 1.0 1 1.0 0.1 0.3 5 5 10 15 20 25 0.15 1 1.0 0.04 0.5 10 1783 3640 3991 4623 5465 5481 6369 6533 6865 8425 4.172 72 59.4705 0.0052834 0.0611224 0

3.5397 31.9249 168.6682

Source: ACM International Collegiate Programming Contest
, Asia Regional Tokyo, Tokyo, Japan, 2005-11-04

http://www2.teu.ac.jp/icpc/

http://www2.teu.ac.jp/icpc/