Чесна гра
У початковій школі діти люблять грати в гру.
Гра розрахована на двох гравців. На початку задається параметр x та N предметів. i-й предмет має значення c_i. Гравці по черзі обирають предмети.
Якщо гравець бере i-й предмет у t-му ході, він отримує sin(x+t+c_i) очок, де x, t та c_i виражені в радіанах. t дорівнює 1 для першого ходу першого гравця, для першого ходу другого гравця t дорівнює 2, і так далі. Кожен гравець прагне максимізувати свою загальну кількість очок мінус загальну кількість очок суперника.
Хоча діти насолоджувалися грою, одного дня деякі батьки заявили, що гра несправедлива, оскільки один з гравців може обов'язково програти, незалежно від того, як мудро він грає. Батьки, як люті монстри, вимагали зробити гру справедливою, тобто щоб обидва гравці отримали однакову кількість очок, коли обидва грають оптимально.
Щоб задовольнити цю вимогу, вчителі початкової школи вирішили ввести гандикап. Розглянемо ще один параметр w. Для параметрів x та w наступне значення додається до рахунку першого гравця:
Тепер, для заданих w та предметів, чи існує таке x, яке робить гру справедливою? Напишіть програму, щоб знайти x.
Вхідні дані
Перший рядок вхідних даних містить два цілі числа N (1 ≤ N ≤ 14) та w (1 ≤ w ≤ 100000). N позначає кількість предметів, а w - параметр, описаний вище.
Наступні N рядків описують значення для кожного предмета. i-й рядок відповідає цілому числу c_i (1 ≤ c_i ≤ 100000).
Вихідні дані
Виведіть x, яке робить гру справедливою. Якщо такого x не існує, виведіть "impossible" (без лапок). Якщо існує таке x, ваш вихід буде прийнятий, якщо абсолютне значення різниці між рахунками двох гравців не перевищує 10^{-3}, коли вони грають оптимально. Якщо є декілька відповідей, будь-яка з них буде прийнята.