T = int(input()) for case in range(1, T+1): M, R, N = map(int, input().split()) X = list(map(int, input().split())) # Initialize pointers l = r = 0 ans = 0 while r < N: # Find the rightmost street light that is covered while r < N and X[r] - X[l] <= R: r += 1 # If we covered all street lights, we are done if r == N: ans += 1 break # Find the leftmost uncovered street light outside the coverage range while l < r and X[r] - X[l] > R: l += 1 # If there is no uncovered street light within the coverage range, it is impossible if l == r: ans = "IMPOSSIBLE" break # Cover the segment of freeway from X[l] to X[r-1] with a new lightbulb ans += 1 print("Case #{}: {}".format(case, ans))