Васин друг-программист написал новую игру для телефона, которую дал Васе протестировать. Она называется «Прыгающий кубик». Игрок управляет кубиком, каждый уровень представляет собой линию из $$$n$$$ клеток, но в некоторых местах этой линии есть провалы. Игрок может прыгнуть на любое расстояние вправо от $$$1$$$ до $$$k$$$. Если игрок прыгнет на клетку, где нет провала, то продолжит игру, а если туда, где есть провал, то проиграет и начнет сначала, но теперь на том месте, где он проиграл, провала не будет. Изначально игрок находится на клетке с номером $$$1$$$, и нужно добраться до клетки $$$n$$$.
Вася понял, что, скорее всего, уровень не получится пройти с первой попытки. Он хочет понять, за какое минимальное количество попыток нужно пройти тот или иной уровень? Некоторые уровни очень большие, поэтому он просит Вас помочь ему с расчетами.
На первой строке записаны три числа $$$n$$$, $$$m$$$ и $$$k$$$ ($$$1 \le n, k \le 10^5, 0 \le m \le n$$$) – длина уровня, количество провалов на уровне и длина максимального прыжка соответственно.
На следующей строке записано $$$m$$$ чисел – номера, под которыми находятся провалы. Все номера различны и являются числами от $$$1$$$ до $$$n$$$.
Гарантируется, что на клетках под номером $$$1$$$ и под номером $$$n$$$ нет провалов.
Выведите одно единственное число – минимальное количество попыток, которое нужно, чтобы пройти уровень.
5 2 2 3 4
2