적은 돈, 많은 문제

종류별 사용 개수 제한 C와 기존 액면가가 있을 때 V 이하 모든 금액을 지불할 수 있도록 추가할 최소 액면가 개수를 구합니다.

보통7그리디수학아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

어제까지 이 나라는 서로 다른 양의 정수 액면가 DD가지의 동전으로 모든 거래를 해결했다. 오늘 한 신하가 값이 작은 동전을 자루째 들고 와 세금을 내려 하자 여왕이 화를 냈고, 한 번의 거래에서 같은 액면가의 동전을 CC개까지만 쓸 수 있다는 칙령을 내렸다.

C=2C = 2이고 기존 액면가가 1과 5인 경우를 보자. 5짜리 두 개와 1짜리 한 개로 값이 11인 물건을 살 수 있고, 5짜리 두 개와 1짜리 두 개로 값이 12인 물건을 살 수 있다. 그러나 값이 9나 17인 물건은 아예 살 수 없다.

칙령에 직접 맞설 수는 없다. 대신 당신은 조폐국을 맡고 있어서 새로운 액면가의 동전을 발행할 수 있다. 값이 VV 이하인 모든 양의 정수 가격을 새 규칙 아래에서 지불할 수 있게 만들어야 한다. 칙령이 내려지기 전에도 이것이 가능했다는 보장은 없다. 새로 발행하는 액면가는 되도록 적어야 하고, 기존 액면가와 새 액면가를 합친 집합에 같은 값이 두 번 들어가서는 안 된다.

새로 발행해야 하는 액면가의 최소 개수를 구하라.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스는 두 줄이다. 첫째 줄에 세 정수 CC, DD, VV가 공백으로 구분되어 주어진다. 둘째 줄에 기존 액면가 DD개가 서로 다른 값으로 오름차순으로 주어진다.

제한

  • 1T1001 \le T \le 100
  • 1C10151 \le C \le 10^{15}
  • 1D1001 \le D \le 100
  • 1V10151 \le V \le 10^{15}
  • 기존 액면가는 모두 VV 이하의 양의 정수이고, DD개의 값은 서로 다르다.

출력

각 테스트 케이스마다 "Case #x: y" 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, yy는 새로 발행해야 하는 액면가의 최소 개수이다.