Byteasar wants to travel by taxi from the town of Bytehole to the town of Bytepit, which lies m kilometres away. Exactly d kilometres along the road from Bytehole toward Bytepit there is a depot holding n taxis, numbered from 1 to n. Taxi number i carries enough fuel to drive exactly xi 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.
The first line contains three integers m, d, and n separated by single spaces (1≤d≤m≤1018, 1≤n≤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 n integers x1,x2,…,xn separated by single spaces (1≤xi≤1018). The value xi is the maximum distance, in kilometres, that taxi i can travel.
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 0.