#!/usr/bin/env python3 def solve(m, rad, n, x): if n == 0: return -1 distances = [] for bulb in x: distances.append([max(0, bulb - rad), min(m, bulb + rad)]) if distances[0][0] > 0: return -1 if distances[-1][1] < m: return -1 l = 0 bulbs = [] for i in range(n): if distances[i][0] > l: bulbs.append(i - 1) l = distances[i-1][1] if distances[i][0] > l: return -1 if len(bulbs) == 0: return 1 if distances[bulbs[-1]][1] < m: bulbs.append(1) return len(bulbs) def main(): t = int(input()) for tc in range(1, t+1): m, r, n = map(int, input().split()) x = list(map(int, input().split())) res = solve(m, r, n, x) res = res if res != -1 else "IMPOSSIBLE" print(f"Case #{tc}: {res}") if __name__ == "__main__": main()