# #3419. Poi2013 Taxis

#### 题目描述

Byteasar wants to take a taxi from the town Bytehole to the town Bytepit, which is m kilometres away from Bytehole. Exactly dkilometres along the way from Bytehole to Bytepit, there is a base of n taxis, numbered from   to n. The taxi no. i has enough fuel to drive exactly Xi kilometres.
Byteasar can change taxis at any point. All the taxis start at their base but need not return there. Your task is to determine whether Byteasar can be driven from Bytehole to Bytepit, and if so, what it the minimum number of taxis required for such a journey.

```然后叫来第2辆车，第二辆车的路径为23->27->42，

Input

Output

Sample Input
42 23 6 20 25 14 27 30 7
Sample Output
4
Hint

F由此到达了15 然后叫来第1辆车，第1辆车的路径为23->15->27，

#### 输入格式

The first line of the standard input holds three integers,m,d and n (1<=d<=10^18,1<=N<=500000), separated by single spaces. Those denote, respectively: the distance from Bytehole to Bytepit, the distance from Bytehole to the taxi base, and the number of taxis at the base. The second line of input contains n integers, x1,x2…Xn (1<=Xi<=10^18), separated by single spaces. The number Xi denotes the maximum distance (in kilometres) that the i-th taxi can travel.

#### 输出格式

Your program should print a single integer to the standard output: the minimum number of taxis Byteasar has to take to get from Bytehole to Bytepit. If getting there is impossible, your program should print the number 0.

#### 样例输入

``````
42 23 6
20 25 14 27 30 7
``````

#### 样例输出

``````
4
Explanation of the example: Byteasar can take the taxis no. 4, 5, 1, and 2, in this order.``````