eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Вовки

Вовки

\textit{Нам не страшний сірий вовк, Сірий вовк, сірий вовк! Де ж ти ходиш, тупий волк, Старий, страшний вовк?} \includegraphics{https://static.e-olymp.com/content/b9/b9f175a242145a3eb1ab434bad3501062c8c4f84.jpg} Всім вам добре відома казка про трьох поросят -- братів Ніф-Ніфі, Нуф-Нуфі та Наф-Нафі. Ніф-Ніф побудував собі будинок з соломи, Нуф-Нуф -- з гілок і тонких прутиків, а Наф-Наф зробив свій будинок з цегли, надійний і міцний, як фортеця. Коли прийшов Вовк, щоб з'їсти поросят, кажен з них сховався у своєму будиночку. Вовк підійшов до будиночка з соломи, набрав повні груди повітря і почав випускати його на будиночок, здуваючи поступово дах, вікна, стіни і т.д. Зовсім мало часу знадобилось йому, щоб зруйнувати цей будинок і з'їсти Ніф-Ніфа. Не набагато більше часу пішло на те, щоб здути будиночок з гілок і з'їсти Нуф-Нуфа. А ось будинок з цегли вияавився настільки міцним, що Вовку не хватило всього життя на те, щоб зруйнувати його… Багато років пройшло з тих пір. Популяція поросят за цей час виросла до \textbf{N} особин. Кожен з них побудував собі будиндок з деякою міцністю. Але за цей же час збільшилась і кількість вовків. Тепер є \textbf{K} вовків, які дуже голодні і хочуть з'їсти всіх поросят. Для цього потрібно зруйнувати їх будиночки. Навчені гірким досвідом свого предка, вовки вирішили розбитись на декількі згарй, кожна з яких одночасно з іншими почне атакувати певний будиночок. Переходити потім від одного будиночка до іншого вовки не можуть. Відомо, що один вовк може здути будинок міцністю \textbf{P} за \textbf{P} годин, два вовки -- за \textbf{P/2} годин і т.д. \textbf{K} вовкам на руйнування будиночка міцністю \textbf{P} знадобиться \textbf{P/K} годин. Допоможіть вовкам визначити, за який час їм вдасться піймати і з'їсти всіх поросят. \InputFile Вхідний файл складається з декількох наборів даних. У першому рядку кожного набору записано два цілих числа \textbf{K} та \textbf{N} -- кількість вовків та поросят відповідно. (\textbf{1} ≤ \textbf{K} ≤ \textbf{10^8}, \textbf{1} ≤ \textbf{N} ≤ \textbf{10^5}). Другий рядок містить \textbf{N} цілих чисел \textbf{P_1}, \textbf{P_2}, …, \textbf{P_N}, відокремлених одне від одного одним пропуском, де \textbf{P_i} (\textbf{1} ≤ \textbf{P_i} ≤ \textbf{10^9}) --- міцність будиночка i-го поросятка. Пара значень \textbf{K} = \textbf{N} = \textbf{0} означає кінець файла. \OutputFile У вихідний файл потрібно вивести одне дійсне число з точністю не менше \textbf{6} знаків --- мінімальний час, який потрібно вовкам для того, щоб Зруйнувати будиночки всіх поросят. У випадку неможливості руйнування всіх будиночків виведіть слово "\textbf{Impossible}" (без лапок). Відповіль для кожного набору даних повинна виводитись в окремому рядку.
Ліміт часу 2 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
1 3
1 2 1000
5 3
1 2 3
10 3
1 2 3
0 0
Вихідні дані #1
Impossible
1.500000
0.666667