Задача №114847. Сериал

Джон — фанат сериала «Во все престолы». Совсем скоро выходит новый сезон, и Джон хочет его посмотреть.

Серии будут выходить по одной в день. Джону не хочется скачивать их каждый раз вручную, поэтому он собирается написать программу, которая будет делать это за него. Каждая серия — это отдельный файл, размер файла, содержащего i -ю серию, равен s i байт.

Программа Джона будет действовать следующим образом. Она один за другим будет отправлять на сервер запросы, где j -й запрос представляет собой «загрузить очередные x j байт». В ответ на такой запрос сервер возвращает пакет данных, содержащий очередные x j байт файла, а также заголовок, содержащий k байт различной служебной информации. Таким образом, размер пакета равен x j + k байт, при этом значение k одно и то же для всех запросов.

Когда в результате некоторого запроса скачивается последний байт файла, программа завершает свою работу и не делает дальнейших запросов к серверу. Однако протокол устроен таким образом, что размер пакета равен x j + k , даже если был достигнут конец файла и в действительности было загружено меньше x j байт полезной информации.

Джон ничего не знает в программировании, поэтому он может написать только простую программу, которая для загрузки каждой серии будет обращаться к серверу с одинаковой последовательностью запросов. Интернет у него медленный, поэтому он хочет, чтобы суммарный размер всех загруженных пакетов был как можно меньше.

Из-за утечки информации от создателей сериала Джону известен размер каждой серии. Помогите ему узнать, какой миниальный суммарный размер пакетов придётся загрузить, чтобы скачать все серии.

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

В первой строке входного файла заданы целые числа n и k — количество серий и размер заголовка пакета ( 1 ≤ n ≤ 10000 ; 0 ≤ k ≤ 10 9 ).

Во второй строке задано n целых чисел s i — размеры серий ( 1 ≤ s i ≤ 10 9 ).

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

Выведите одно число — минимальный суммарный размер пакетов, которые придётся загрузить.

Примечание

В первом примере можно сначала загрузить 200 байт, а затем 600. Тогда первые три серии будут скачаны после первого запроса и на каждую из них будет потрачено по 200 + 1000 = 1200 байт. Последняя серия будет скачана за два запроса, на нее будет потрачено (200 + 1000) + (600 + 1000) = 2800 байт. Итого 1200 + 1200 + 1200 + 2800 = 6400 байт.

Во втором примере заголовка нет, поэтому можно не бояться делать много запросов. Например, можно загружать блоками по 100 байт.

Примеры
Входные данные
4 1000
100 200 200 800
Выходные данные
6400
Входные данные
4 0
100 200 800 200
Выходные данные
1300
Сдать: для сдачи задач необходимо войти в систему