C. Конвейер
ограничение по времени на тест
1 second
ограничение по памяти на тест
256 megabytes
ввод
стандартный ввод
вывод
стандартный вывод

Антон попал в цех по производству конфет. Он обнаружил в нем работающий конвейер и решил пробежать по нему от начала до конца.

Конвейер представляет собой закольцованную ленту общей длиной 2l метров, из которых l метров находятся на поверхности и представляют собой прямую полосу. Часть ленты, которая в каждый момент времени поворачивает (выныривает из-под пола на поверхность и уходит обратно), будем считать пренебрежимо короткой.

Лента двигается равномерно со скоростью v1 метров в секунду. Антон будет двигаться по ней в том же направлении с постоянной скоростью v2 метров в секунду, то есть относительно пола он будет двигаться со скоростью v1 + v2 метров в секунду. Останавливаться или менять скорость или направление движения Антон не будет.

Кое-где к ленте прилипли конфеты (n штук). Они двигаются вместе с лентой, не отлипая от неё. Антон заинтересован в конфетах, но в движении вперёд он заинтересован больше. Поэтому он соберёт все конфеты, мимо которых будет пробегать, но не больше. Если конфета находится в начале полосы в момент, когда Антон начинает бег, то он её возьмет, а если находится в конце полосы в момент, когда Антон сойдёт с конвейера — он оставит её.

На рисунке изображен пример с двумя конфетами. Одна расположена в позиции a1 = l - d и находится сейчас на верхней половине ленты, вторая в позиции a2 = 2l - d и находится сейчас на нижней половине ленты.

Известно, что относительно начального положения ленты конфеты расположены в точках 0 ≤ a1 < a2 < ... < an < 2l. Положения на ленте от 0 до l соответствуют верхней, а от l до 2l — нижней половине ленты (см. пример). Все координаты заданы в метрах.

Антон начнет бег по полосе в случайный момент времени. Это означает, что все возможные положения ленты в момент начала бега равновероятны. Определите для каждого i от 0 до n вероятность того, что Антон соберёт ровно i конфет.

Входные данные

В первой строке через пробел записаны целые числа n, l, v1 и v2 (1 ≤ n ≤ 105, 1 ≤ l, v1, v2 ≤ 109) — количество конфет, длина видимой части конвейера, скорость конвейера и скорость Антона.

Во второй строке через пробел записана последовательность целых чисел a1, a2, ..., an (0 ≤ a1 < a2 < ... < an < 2l) — координаты конфет.

Выходные данные

Выведите n + 1 число (по одному на строку): вероятности того, что Антон соберёт ровно i конфет, для каждого i от 0 (первая строка) до n (последняя). Ответ будет считаться верным, если каждое число будет иметь абсолютную или относительную погрешность не более 10 - 9.

Примеры
Входные данные
1 1 1 1
0
Выходные данные
0.75000000000000000000
0.25000000000000000000
Входные данные
2 3 1 2
2 5
Выходные данные
0.33333333333333331000
0.66666666666666663000
0.00000000000000000000
Примечание

В первом тестовом примере Антон сможет взять конфету, если в момент начала бега её координата менее 0.5; если же координата конфеты в момент начала бега не менее 0.5, то забрать конфету не получится. Так как все положения ленты равновероятны, то вероятность забрать конфету равна , а вероятность не забрать её равна .