John drives from Rawalpindi to Karachi along the Indus Highway. A full tank takes his car K kilometers, and the tank is full when he starts. The route has S fuel stations, and the position of each station is given as its distance from Rawalpindi.
Decide which stations John refuels at so that he reaches Karachi. The number of stops must be as small as possible.
Several plans can share the smallest number of stops, so one of them is fixed by this rule. From the current position, drive to the farthest station still within reach of the fuel in the tank and fill up there, and repeat until the remaining distance to Karachi is at most K. This rule always produces a plan with the smallest number of stops.
The first line contains the number of test cases N (1≤N≤100).
Each of the next N lines contains the distance D from Rawalpindi to Karachi (1≤D≤10000), the distance K the car travels on a full tank (1≤K≤10000), the number of fuel stations S (1≤S≤100), and then the positions of the S stations in order. A position is the distance from Rawalpindi and satisfies 1≤d1<d2<⋯<dS≤D. Every distance is an integer number of kilometers.
Print one line for each test case. The line starts with Case #n:, where n is the test case number.
If John reaches Karachi, print after the colon the positions of the stations where he refuels, in travel order, separated by single spaces. If he never has to refuel, print nothing after the colon.
If John cannot reach Karachi, print out of petrol after the colon.