급유 계획

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

존은 인더스 하이웨이를 따라 라왈핀디에서 카라치까지 자동차로 이동한다. 연료를 가득 채운 탱크로 KK킬로미터를 달릴 수 있고, 출발할 때 탱크는 가득 차 있다. 경로에는 주유소가 SS개 있으며 각 주유소의 위치는 라왈핀디에서 떨어진 거리로 주어진다.

존이 카라치에 도착하도록 급유할 주유소를 정하라. 멈추는 횟수는 최소여야 한다.

멈추는 횟수가 최소인 계획이 여럿 있을 수 있으므로 다음 규칙으로 하나를 정한다. 현재 위치에서 남은 연료로 도달할 수 있는 주유소 중 가장 먼 곳까지 이동해 탱크를 가득 채우고, 카라치까지 남은 거리가 KK 이하가 될 때까지 이를 반복한다. 이 규칙은 항상 멈추는 횟수가 최소인 계획을 만든다.

입력

첫째 줄에 테스트 케이스의 수 NN (1N1001 \le N \le 100)이 주어진다.

다음 NN개 줄에는 각각 라왈핀디에서 카라치까지의 거리 DD (1D100001 \le D \le 10000), 가득 찬 탱크로 달릴 수 있는 거리 KK (1K100001 \le K \le 10000), 주유소의 수 SS (1S1001 \le S \le 100), 그리고 주유소 SS개의 위치가 순서대로 주어진다. 위치는 라왈핀디에서 떨어진 거리이며 1d1<d2<<dSD1 \le d_1 < d_2 < \dots < d_S \le D를 만족한다. 모든 거리는 킬로미터 단위의 정수이다.

출력

각 테스트 케이스마다 한 줄을 출력한다. 줄은 Case #n:으로 시작하고 nn은 테스트 케이스 번호이다.

존이 카라치에 도착할 수 있으면 콜론 뒤에 급유하는 주유소의 위치를 이동 순서대로 공백으로 구분해 출력한다. 급유가 한 번도 필요하지 않으면 콜론 뒤에는 아무것도 출력하지 않는다.

존이 카라치에 도착할 수 없으면 콜론 뒤에 out of petrol을 출력한다.