Таксі
Byteasar планує поїздку на таксі з міста Байтохол до міста Байтіп, яке розташоване на відстані m кілометрів. На шляху, рівно через d кілометрів від Байтохола, знаходиться база з n таксі, пронумерованих від 1 до n. Таксі під номером i може проїхати не більше x_i кілометрів на своєму пальному.
Байтазар має можливість змінювати таксі в будь-який момент. Усі таксі стартують з бази, але не зобов'язані повертатися назад. Ваше завдання — з'ясувати, чи може Байтазар дістатися з Байтохола до Байтіпа, і якщо це можливо, визначити мінімальну кількість таксі, необхідних для подорожі.
Вхідні дані
Перша строка вхідного файлу містить три цілі числа: m, d та n (1 ≤ d ≤ m ≤ 10^18, 1 ≤ n ≤ 500000), розділені пробілами. Вони представляють відстань від Байтохола до Байтіпа, відстань від Байтохола до бази таксі та кількість таксі на базі відповідно. Друга строка містить n цілих чисел x_1, x_2, ..., x_n (1 ≤ x_i ≤ 10^18), розділених пробілами. Кожне число x_i вказує на максимальну відстань, яку може подолати i-те таксі.
Вихідні дані
Ваша програма повинна вивести одне ціле число: мінімальну кількість таксі, які Байтазар повинен використати, щоб дістатися з Байтохола до Байтіпа. Якщо це неможливо, програма повинна вивести число 0.