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

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

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

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

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

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

В первой строке находятся два целых числа $$$n$$$ и $$$k$$$ ($$$1 \le n \le 100$$$, $$$1 \le k \le 10^{11}$$$) — число бамбуков и максимальная суммарная длина отрезанных частей в метрах.

Во второй строке находятся $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^9$$$) — высоты бамбуков, необходимые Владимиру, в метрах.

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

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

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

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