Глобулусні Жувальні Цукерки#306

Глобулусні Жувальні Цукерки

8 секунд
64 мегабайти
Легка

Гвен щойно купила пакет жувальних цукерок! Однак їй не подобається носити жувальні цукерки в пластикових пакетах; натомість вона хоче упакувати свої жувальні цукерки в циліндричну трубку діаметром . Кожна цукерка — ідеальна сфера з радіусами r_1, r_2, \ldots, r_n. Знайдіть найкоротшу довжину трубки, яку Гвен може використати для зберігання своїх жувальних цукерок.

Вважайте, що радіуси жувальних цукерок достатньо великі, щоб жодні три цукерки не могли одночасно стикатися одна з одною в трубці. Тож цукерки завжди розташовуватимуться так, що їхні центри лежать в одній двовимірній площині, яка містить вісь трубки.

Вхідні дані

Вхід містить кілька тестових випадків. Кожен тестовий випадок складається з двох рядків. Перший рядок містить ціле число (1 \leq n \leq 15) — кількість цукерок, та число з плаваючою комою (2.0 \leq d \leq 1000.0) — діаметр циліндричної трубки, розділені пропуском.

Другий рядок містить чисел з плаваючою комою r_1, r_2, \ldots, r_n (1.0 \leq r_i \leq d / 2) — радіуси цукерок.

Порожній рядок розділяє тестові випадки. Один рядок із числами "0 0" позначає кінець вводу; не обробляйте цей випадок.

Вихідні дані

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

Приклади

Приклад 1

Loading
Loading