Tram
Vasya walks home from school along an avenue where trams operate. His mother insists that he walks at least K meters to benefit from the fresh air. Vasya, however, wants to reach home as quickly as possible while meeting his mother's requirement.
The avenue has N tram stops located at points a_1, a_2, ..., a_N (all coordinates are in meters). The school is near the first stop, and his house is near the N-th stop. Vasya walks at a speed of v meters per minute, while the tram travels at w meters per minute (tram stop times are ignored). Trams depart from the first stop at time zero and then at intervals of T minutes, heading towards Vasya's home. Vasya also starts his journey at time 0. He can only board and alight from the tram at designated stops. If he arrives at a stop before the tram he intends to take, he must wait for it. Vasya travels only in the direction from school to home, whether walking or taking the tram.
Your task is to write a program that calculates the earliest time Vasya can reach home, having walked at least K meters.
Input
First, input the number N - the number of stops (1 ≤ N ≤ 2000). Next, input the coordinates of the stops a_1, a_2, ..., a_N (0 ≤ a_1 < a_2 < ... < a_N ≤ 10^9). Then, input the tram interval T (1 ≤ T ≤ 2000). After that, input the minimum distance Vasya must walk K (0 ≤ K ≤ 2000). Finally, input Vasya's walking speed v and the tram's speed w (1 ≤ v ≤ w ≤ 10000). All numbers are integers. Note that K does not exceed the total distance from school to home.
Output
On the first line, output a single number with six decimal places representing the minimum time Vasya can be at home, having walked at least K meters. Then, describe Vasya's path. Number the segments between consecutive stops from 1 to N-1 (i.e., the segment between the first and second stops is numbered 1, between the second and third is 2, and so on). The next line should contain the number of segments Vasya walked. Then, list the numbers of these segments in ascending order.