J. Стрит
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Начинается турнир по обобщенному покеру! В турнире используется специальная колода. В неё входят карты, на которых написаны числа от $$$1$$$ до $$$n$$$. При этом с каждым числом в колоде есть бесконечно много карт.

В обобщенном покере используется только одна комбинация: стрит, которая представляет собой последовательность из $$$m$$$ карт, на которых написаны последовательные числа: $$$i, i+1, \ldots, i+m-1$$$. По правилам турнира у каждого из игроков в руке находятся $$$s$$$ карт, а на стол выкладывается $$$m$$$ карт. Каждый игрок пытается выбрать из $$$s+m$$$ карт, которые он видит, $$$m$$$ таких, чтобы они образовывали стрит.

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

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

В первой строке дано три числа $$$n$$$, $$$m$$$ и $$$s$$$ ($$$1 \le n \le 10^9$$$; $$$1 \le s \lt m \le 10^5$$$) — максимальное значение карты, количество карт в столе и в руке соответственно.

Во второй строке дано $$$m$$$ чисел, каждое из которых лежит в диапазоне от $$$1$$$ до $$$n$$$ — значения карт на столе.

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

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

Примеры
Входные данные
10 5 2
7 1 3 5 6
Выходные данные
5
Входные данные
11 6 2
5 5 5 5 5 5
Выходные данные
0
Примечание

В первом примере у игроков могут получиться стриты, начинающиеся с $$$1$$$, $$$2$$$, $$$3$$$, $$$4$$$ и $$$5$$$.