В ряд стоят $$$n$$$ столбиков, пронумерованных слева направо целыми числами от $$$1$$$ до $$$n$$$. Высота $$$i$$$-го столбика равна $$$a_i$$$. Кузнечик может прыгать по столбикам только вперед (со столбика с меньшим номером на столбик с большим номером), и за один прыжок он может перепрыгнуть не более, чем на $$$k$$$ столбиков вперед. Формально, кузнечик может перепрыгнуть со столбика $$$i$$$ на столбик $$$j$$$, если $$$i \lt j$$$ и $$$j - i \le k$$$.
Кузнечик хочет быть как можно выше, поэтому он стремится максимизировать минимальную из высот посещенных им столбиков.
Обозначим за $$$f(l, r)$$$ максимум из минимальных высот посещенных столбиков по всем маршрутам кузнечика от столбика с номером $$$l$$$ до столбика с номером $$$r$$$.
Вам требуется найти значение суммы $$$\sum \limits_{l=1}^n \sum \limits_{r=l}^n f(l, r)$$$. Иными словами вы должны найти сумму значений $$$f(l, r)$$$ по всем парам столбиков $$$l$$$ и $$$r$$$ ($$$l \le r$$$).
Первая строка содержит два целых числа $$$n$$$ и $$$k$$$ ($$$2 \le n \le 200\,000, 1 \le k \le n - 1$$$) — количество столбиков и максимальное расстояние, на которое кузнечик может прыгнуть вперед.
Вторая строка содержит $$$n$$$ целых чисел $$$a_i$$$ ($$$1 \le a_i \le 10^8$$$) — высоты столбиков.
Выведите одно целое число — значение суммы $$$\sum \limits_{l=1}^n \sum \limits_{r=l}^n f(l, r)$$$.
Обратите внимание, что ответ в этой задаче может превышать возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C++, тип long в Java и C#).
Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.
| Подзадача | Баллы | Дополнительные ограничения | Необходимые подзадачи | Информация о проверке |
| 0 | 0 | Тесты из условия | полная | |
| 1 | 5 | $$$n \le 5$$$ | первая ошибка | |
| 2 | 5 | $$$n \le 15$$$ | 1 | первая ошибка |
| 3 | 10 | $$$n \le 100$$$ | 1, 2 | первая ошибка |
| 4 | 10 | $$$n \le 600$$$ | 1, 2, 3 | первая ошибка |
| 5 | 10 | $$$n \le 5\,000, k = 1$$$ | первая ошибка | |
| 6 | 15 | $$$n \le 5\,000$$$ | 1, 2, 3, 4 | первая ошибка |
| 7 | 15 | $$$k = 1$$$ | 5 | первая ошибка |
| 8 | 30 | нет | 1 – 7 | первая ошибка |
4 22 1 4 2
18
Рассмотрим пример из условия.