존은 인더스 하이웨이를 따라 라왈핀디에서 카라치까지 자동차로 이동한다. 연료를 가득 채운 탱크로 K킬로미터를 달릴 수 있고, 출발할 때 탱크는 가득 차 있다. 경로에는 주유소가 S개 있으며 각 주유소의 위치는 라왈핀디에서 떨어진 거리로 주어진다.
존이 카라치에 도착하도록 급유할 주유소를 정하라. 멈추는 횟수는 최소여야 한다.
멈추는 횟수가 최소인 계획이 여럿 있을 수 있으므로 다음 규칙으로 하나를 정한다. 현재 위치에서 남은 연료로 도달할 수 있는 주유소 중 가장 먼 곳까지 이동해 탱크를 가득 채우고, 카라치까지 남은 거리가 K 이하가 될 때까지 이를 반복한다. 이 규칙은 항상 멈추는 횟수가 최소인 계획을 만든다.
첫째 줄에 테스트 케이스의 수 N (1≤N≤100)이 주어진다.
다음 N개 줄에는 각각 라왈핀디에서 카라치까지의 거리 D (1≤D≤10000), 가득 찬 탱크로 달릴 수 있는 거리 K (1≤K≤10000), 주유소의 수 S (1≤S≤100), 그리고 주유소 S개의 위치가 순서대로 주어진다. 위치는 라왈핀디에서 떨어진 거리이며 1≤d1<d2<⋯<dS≤D를 만족한다. 모든 거리는 킬로미터 단위의 정수이다.
각 테스트 케이스마다 한 줄을 출력한다. 줄은 Case #n:으로 시작하고 n은 테스트 케이스 번호이다.
존이 카라치에 도착할 수 있으면 콜론 뒤에 급유하는 주유소의 위치를 이동 순서대로 공백으로 구분해 출력한다. 급유가 한 번도 필요하지 않으면 콜론 뒤에는 아무것도 출력하지 않는다.
존이 카라치에 도착할 수 없으면 콜론 뒤에 out of petrol을 출력한다.