Тройной прыжок
Тройной прыжок совершается следующим образом. Прыгун разгоняется, добегает до определенной отметки и совершает три последовательных прыжка. Победителем является тот, чья суммарная длина прыжков наибольшая.
Вы принимаете участие в соревновании и прыгаете последним. Все Ваши соперники уже совершили прыжки, поэтому их результаты известны.
Первый свой прыжок Вы уже совершили, его длина равна first. Длина каждого из оставшихся прыжков может с одинаковой вероятностью принимать любое значение из отрезка [lower, upper], и не обязательно быть целым. Вам необходимо вычислить вероятность того, что Вы займете i - ое место. Место, занятое Вами, равняется единице плюс количество соперников, которые прыгнули дальше Вас.
Входные данные
Состоит из нескольких тестов. Первая строка каждого теста содержит значения lower, upper, first (1 ≤ lower ≤ 1000, lower ≤ upper ≤ 1000, lower ≤ first ≤ upper) и количество Ваших соперников n (1 ≤ n ≤ 50). Вторая строка теста содержит n целых чисел от 1 до 3000 - длины тройных прыжков всех Ваших соперников.
Выходные данные
Для каждого теста в отдельной строке вывести n + 1 действительных чисел - соответственно вероятности того что Вы займете первое, второе, третье, ..., последнее место. Все вероятности следует выводить с 4 десятичными знаками.