Спасать мир — задача не из легких, трудности возникают на каждом шагу. Так и сейчас, таки пробравшись в кабинет к Поппи Адамс, Эггси вновь попал в передрягу — на экране появилась сама Поппи и сказала, что агент слишком предсказуем, и она как всегда на несколько шагов впереди, ведь запуск уничтожения антидота к вирусу, который она распространила, уже запущен, и ничто не может это остановить, мир будет уничтожен.
Однако Эггси не просто так является агентом лучшей секретной службы, поэтому он сразу же достал свой ноутбук, вычислил IP-адрес сервера, на котором запущена программа уничтожения и взломал его. Оказалось, что это личный компьютер Поппи, а она не очень хорошо в них разбирается. Ее операционная система MS ADOS не поддерживает параллельное исполнение программ, поэтому все программы исполняются в одном потоке. Для этого поддерживается очередь задач на исполнение, и раз в секунду первая задача из очереди запускается на исполнение. За секунду программа может успеть сделать не более b операций. Если программа успевает выполнить все необходимые операции, она удаляется из очереди, иначе она переносится в конец очереди на дальнейшее выполнение.
Эггси быстро был обнаружен, а на сервере сменили пароль, тем самым закрыв для него доступ к серверу. Однако перед этим он успел узнать, что программе для уничтожения нужно a1 операций для завершения, а также добавить в очередь задач на исполнение n - 1 других задач с a2, a3, ..., an операциями для выполнения соответственно. Теперь он хочет понять, сколько у него времени, чтобы добраться до Поппи, пока программа уничтожения не завершилась. Помогите ему найти количество секунд, которое потребуется программе уничтожения для завершения.
В первой строке содержится два числа n и b — суммарное количество программ, запущенных на сервере, и максимальное количество операций, которое может выполниться на сервере за секунду (1 ≤ n ≤ 105, 1 ≤ b ≤ 109).
В следующей строке содержится n чисел ai — количество операций для выполнения программы уничтожения и добавленных Эггси программ соответственно в порядке, в котором они расположены в очереди (1 ≤ ai ≤ 109).
В единственной строке выведите количество секунд, через которое программа уничтожения завершится.
Во втором тестовом примере посекундная последовательность действий будет следующая:
Дальнейшее выполнение программ нас не интересует, как видно, через 7 секунд программа уничтожения завершится.
## Входные Данные
В первой строке содержится два числа n и b — суммарное количество программ, запущенных на сервере, и максимальное количество операций, которое может выполниться на сервере за секунду (1 ≤ n ≤ 105, 1 ≤ b ≤ 109).В следующей строке содержится n чисел ai — количество операций для выполнения программы уничтожения и добавленных Эггси программ соответственно в порядке, в котором они расположены в очереди (1 ≤ ai ≤ 109).
## Выходные Данные
В единственной строке выведите количество секунд, через которое программа уничтожения завершится.
## Примеры
Входные данные5 13 4 3 1 2Выходные данные10Входные данные4 26 2 5 1Выходные данные7
## Примечание
Во втором тестовом примере посекундная последовательность действий будет следующая: 1 секунда: первая программа (программа уничтожения) запускается на исполнение, выполняет 2 операции, а затем перемещается в конец очереди; 2 секунда: вторая программа запускается на исполнение, выполняет 2 операции, завершается и удаляется из очереди; 3 секунда: третья программа запускается на исполнение, выполняет 2 операции, а затем перемещается в конец очереди; 4 секунда: четвертая программа запускается на исполнение, выполняет 1 операцию, завершается и удаляется из очереди; 5 секунда: первая программа (программа уничтожения) запускается на исполнение, выполняет 2 операции, а затем перемещается в конец очереди; 6 секунда: третья программа запускается на исполнение, выполняет 2 операции, а затем перемещается в конец очереди; 7 секунда: первая программа (программа уничтожения) запускается на исполнение, выполняет 2 операции, завершается и удаляется из очереди. Дальнейшее выполнение программ нас не интересует, как видно, через 7 секунд программа уничтожения завершится.
[samples]
**Definitions**
Let $ n \in \mathbb{Z}^+ $ be the total number of tasks in the queue.
Let $ b \in \mathbb{Z}^+ $ be the maximum number of operations executable per second.
Let $ A = (a_1, a_2, \dots, a_n) $ be the sequence of operation counts for each task, where $ a_1 $ is the operation count for the destruction program (first in queue).
**Constraints**
1. $ 1 \leq n \leq 10^5 $
2. $ 1 \leq b \leq 10^9 $
3. $ 1 \leq a_i \leq 10^9 $ for all $ i \in \{1, \dots, n\} $
**Objective**
Simulate the queue execution:
- Each second, the first task in the queue executes up to $ b $ operations.
- If the task’s remaining operations $ \leq b $, it completes and is removed.
- Otherwise, it is moved to the end of the queue with remaining operations $ a_i - b $.
Find the number of seconds until the destruction program (initially at position 1) completes.