Problem description


Pracownicy sezonowi
(prac-sezonowi)
Limit pamięci: 32 MB
Limit czasu: 1.00 s

Firma Januszex S.A. postanowiła stworzyć warunki pracy podobne do zachodnioeuropejskich krajów w celu hamowania emigracji swoich rodaków. Wobec tego postanowiono wdrożyć nowy plan zatrudniania pracowników sezonowych. Wszyscy zaczną w dniu rozpoczęcia wakacji, więc należy się dobrze przygotować. Wiadomo już jakie prace są do wykonania przez wakacje – są to zbiory owoców. Rada nadzorcza dla każdej z posiadanych przez firmę plantacji określiła czas, którego potrzebuje jeden pracownik sezonowy na zebranie wszystkich owoców na niej rosnących.

Firma nie wymaga od kandydatów żadnego doświadczenia, więc należy założyć, że każdy z nowo zatrudnionych będzie pracował w tym samym przywidywanym tempie. Każda plantacja może pomieścić dowolnie wielu pracowników, wtedy przewidziany czas wykonania zbiorów dzieli się równo przez liczbę wszystkich pracowników na tej plantacji.

Niestety, plantacje są znacznie oddalone od siebie, więc jeden pracownik może być przypisany tylko do jednej z nich. Teraz firma chciałaby znać przewidywany czas zakończenia wszystkich swoich zbiorów przy optymalnym podziale pracowników.

Napisz program, który wczyta przewidywane czasy zbiorów na poszczególnych plantacjach oraz liczbę przybywających pracowników sezonowych, wyznaczy najszybszy możliwy czas zakończenia zbiorów i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym wierszu wejścia znajdują się dwie liczby naturalne N oraz K oddzielone pojedynczym odstępem określające kolejno: liczbę różnych plantacji owoców oraz liczbę zatrudnionuch pracowników sezonowych. W kolejnym wierszu znajduje się N liczb naturalnych Ai pooddzielanych pojedynczymi odstępami oznaczających czas potrzebny na zebranie i-tej plantacji przez jednego pracownika sezonowego.

Wyjście

Twój program powinien wypisać na standardowe wyjście jedną liczbę rzeczywistą – minimalny czas potrzebny pracownikom sezonowym na zebranie wszystkich zbiorów firmy.

Ograniczenia

1 ≤ N ≤ 100 000, 1 ≤ K ≤ 1018, 1 ≤ Ai ≤ 1018, N ≤ K.

Przykład

Wejście Wyjście Wyjaśnienie
3 5
5 10 15
7.500000000

Można na pierwszą plantację posłać jednego pracownika, a na pozostałe po dwóch –- wtedy trzecia plantacja zostanie zebrana jako ostatnia po czasie 7.5.