Taxis

No attempts yetTime limit1sMemory limit128 MB

Problem

Byteasar wants to travel by taxi from the town of Bytehole to the town of Bytepit, which lies mm kilometres away. Exactly dd kilometres along the road from Bytehole toward Bytepit there is a depot holding nn taxis, numbered from 11 to nn. Taxi number ii carries enough fuel to drive exactly xix_i kilometres.

Byteasar may change taxis at any point along the way. Every taxi starts at the depot, but none of them has to return there. Determine whether Byteasar can get from Bytehole to Bytepit, and if so, the minimum number of taxis needed for the trip.

Input

The first line contains three integers mm, dd, and nn separated by single spaces (1dm10181 \le d \le m \le 10^{18}, 1n500,0001 \le n \le 500{,}000). They denote, respectively, the distance from Bytehole to Bytepit, the distance from Bytehole to the depot, and the number of taxis at the depot.

The second line contains nn integers x1,x2,,xnx_1, x_2, \dots, x_n separated by single spaces (1xi10181 \le x_i \le 10^{18}). The value xix_i is the maximum distance, in kilometres, that taxi ii can travel.

Output

Print a single integer: the minimum number of taxis Byteasar has to take to get from Bytehole to Bytepit. If the trip is impossible, print 00.