Ігрові реліквії#9586

Ігрові реліквії

1 секунда
128 мегабайтів
Легка

Кіберспорт - це змагальний вид спорту, що використовує відеоігри. Dota 2 є однією з найпопулярніших ігор у цій сфері. Нещодавно вийшла нова гра - Dota 3. У Dota 3 гравці можуть купувати реліквії для своїх героїв. Реліквії - це лічильники, які відстежують дії та статистику героя в грі.

Глорія захоплюється грою в Dota 3 і хоче придбати всі доступних реліквій для свого улюбленого героя.

Реліквії можна купити за внутрішньоігрову валюту, яка називається уламками. Кожна реліквія має свою ціну - c_i уламків за -у реліквію. Гравець може придбати реліквію одним із наступних способів:

Глорія прагне придбати всі реліквій. Допоможіть їй мінімізувати очікувану кількість уламків, яку вона витратить на покупку всіх реліквій.

Вхідні дані

Перша строка містить два цілих числа і (1 \leq n \leq 100, 1 \leq x \leq 10000) - кількість реліквій та вартість отримання випадкової реліквії.

Друга строка містить цілих чисел c_1, c_2, \ldots, c_n (x \leq c_i \leq 10000, \sum c_i \leq 10000) - ціни на реліквій.

Вихідні дані

Виведіть одне дійсне число - мінімальну очікувану кількість уламків, яку Глорія повинна витратити, щоб купити всі реліквії. Абсолютна або відносна похибка не повинна перевищувати 10^{-9}.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Примітка

У першому прикладі оптимальна стратегія - випадковим чином отримати одну з двох реліквій, заплативши уламків. Далі можливі два сценарії.

Перший сценарій: Глорія отримує першу реліквію. Потім вона продовжує отримувати випадкові реліквії, поки не отримає другу. Очікувана кількість уламків у цьому випадку складе 20 + 30 = 50.

Другий сценарій: Глорія спочатку отримує другу реліквію. Тоді вигідніше купити першу реліквію за уламків, тому очікувана кількість уламків у цьому випадку складе 20 + 25 = 45. Таким чином, очікувана кількість уламків, які потрібно витратити, становить (50 + 45) / 2 = 47.5.