Refueling Stops

No attempts yetTime limit1sMemory limit256 MB

Problem

John drives from Rawalpindi to Karachi along the Indus Highway. A full tank takes his car KK kilometers, and the tank is full when he starts. The route has SS 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 KK. This rule always produces a plan with the smallest number of stops.

Input

The first line contains the number of test cases NN (1N1001 \le N \le 100).

Each of the next NN lines contains the distance DD from Rawalpindi to Karachi (1D100001 \le D \le 10000), the distance KK the car travels on a full tank (1K100001 \le K \le 10000), the number of fuel stations SS (1S1001 \le S \le 100), and then the positions of the SS stations in order. A position is the distance from Rawalpindi and satisfies 1d1<d2<<dSD1 \le d_1 < d_2 < \dots < d_S \le D. Every distance is an integer number of kilometers.

Output

Print one line for each test case. The line starts with Case #n:, where nn 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.