C. Перегородка из бамбуков
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Владимир хочет модернизировать перегородки в офисе. Чтобы было просторнее, он решил вместо перегородки просто посадить несколько бамбуков в ряд. Он считает, что получится красиво, если в ряд будут расти n бамбуков, и i-й из них слева будет иметь высоту ai метров.

Владимир только что посадил ровно n бамбуков в ряд, они сейчас имеют высоту 0 метров и вырастают на 1 метр каждый день. Для того, чтобы перегородка стала красивой, Владимир может каждый из бамбуков обрезать один раз на любой высоте (не выше той, до которой вырос бамбук), и после этого этот бамбук расти не будет.

Владимир хочет проверять бамбуки каждые d дней (т.е. спустя d дней после посадки, затем спустя 2d дней и так далее), и обрезать те, что уже выросли до необходимой высоты. Владимир хочет, чтобы суммарная длина отрезанных частей бамбука была не больше k метров.

Какую максимальную величину d он может выбрать, чтобы достичь результата, не отрезая суммарно больше k метров бамбука?

Входные данные

В первой строке находятся два целых числа n и k (1 ≤ n ≤ 100, 1 ≤ k ≤ 1011) — число бамбуков и максимальная суммарная длина отрезанных частей в метрах.

Во второй строке находятся n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 109) — высоты бамбуков, необходимые Владимиру, в метрах.

Выходные данные

Выведите одно число — максимальное значение d, при котором Владимир сможет достичь своей цели.

Примеры
Входные данные
3 4
1 3 5
Выходные данные
3
Входные данные
3 40
10 30 50
Выходные данные
32
Примечание

В первом примере Владимир может обрезать бамбуки каждые 3 дня. Тогда через 3 дня он обрежет первый и второй бамбуки, а через 6 дней — третий бамбук. Суммарная длина отрезанных частей составит 2 + 0 + 1 = 3 метра.