11703. Призи
У певних змаганнях з програмування учасники нагороджуються футболками за такими правилами.
Усі учасники, які зайняли \(A\)-е місце або вище, отримують футболку.
Крім того, серед учасників, які зайняли місце між (\(A+1\)) і \(B\) (включно), \(C\) учасників, вибраних випадковим чином, отримують футболку.
У цьому конкурсі було 1000 учасників, і всі вони отримали різні рейтинги. Степан, який брав участь у цьому конкурсі, посів \(X\)-е місце.
Знайти ймовірність того, що він отримає футболку.
Формат вхідних даних
Вхідний потік містить цілі числа \(A,B,C,X\) (\(1 \le A < B \le 1000\), \(1 \le C \le B-A\), \(1 \le X \le 1000\))
Числа розділяються пропуском.
Формат вихідних даних
У вихідний потік виведіть відповідь. Ваш результат вважатиметься правильним, якщо абсолютна чи відносна помилка відповіді судді становитиме не більше \(10^{−6}\).
Примітка
До прикладу 1:
Він отримає футболку, якщо буде серед 20 учасників, вибраних випадковим чином із 470 учасників, які посіли між 31-м і 500-м місця, що відбувається з ймовірністю \(\frac{20}{470}=0,04255319\)....
Приклад вхідних даних
30 500 20 103
Приклад вихідних даних
0.042553191489
Приклад вхідних даних
50 500 100 1
Приклад вихідних даних
1.000000000000
Приклад вхідних даних
1 2 1 1000
Приклад вихідних даних
0.000000000000
Коментарі