EduBrick

C. Заправки

2000 мс · 256 МБ · всё или ничего

Машина едет из точки 00 в точку dd по прямой дороге. На полном баке она проезжает kk километров; в начале пути бак полон.

На дороге nn заправок в точках s1<s2<⋯<sns_1 < s_2 < \dots < s_n (0<si<d0 < s_i < d). На любой из них бак можно долить до полного; частично заправляться смысла нет, и заправка занимает время, поэтому останавливаться хочется как можно реже.

Найдите наименьшее число заправок, за которое можно доехать до точки dd, или установите, что доехать нельзя.

Формат ввода

Первая строка содержит числа dd, kk и nn (1≤d,k≤1091 \le d, k \le 10^9, 0≤n≤1050 \le n \le 10^5).

Вторая строка содержит nn различных чисел sis_i в порядке возрастания. При n=0n = 0 вторая строка пуста.

Формат вывода

Одно число — наименьшее количество заправок, или −1-1, если доехать нельзя.

Примеры

ввод
100 20 2
1 50
вывод
-1
ввод
100 100 3
10 20 80
вывод
0
ввод
100 50 2
1 50
вывод
1
Войдите, чтобы отправлять решения.