from sys import stdin input = stdin.readline def solve(m,r,n,polls): polls.sort() ranges = [] for i in range(n): left = max(0, polls[i] - r) right = min(m, polls[i] + r) ranges.append((left,right)) # print(ranges) covered = 0 count = 0 included = None i = 0 while i < n: l,r = ranges[i] if l > covered: if i==0: return 'IMPOSSIBLE' if included == i-1: return 'IMPOSSIBLE' covered = ranges[i-1][1] included = i-1 count+=1 continue i+=1 if covered < m: if included == n-1: return 'IMPOSSIBLE' if ranges[n-1][0] > covered: return 'IMPOSSIBLE' if ranges[n-1][1] < m: return 'IMPOSSIBLE' count+=1 return count for i in range(int(input())): m,r,n = map(int, input().split()) polls = list(map(int, input().split())) print(f'Case #{i+1}: {solve(m,r,n,polls)}')