tests = int(input()) for case in range(1, tests+1): m, r, n = list(map(int, input().split())) positions = list(map(int, input().split())) earliest_location = 0 current_position = -1 current_amount = 0 bad = False while earliest_location < m: # print(earliest_location, current_position, current_amount) if current_position + 1 == len(positions): bad = True break next_position = current_position + 1 while ( next_position < len(positions) and positions[next_position] - r <= earliest_location ): next_position += 1 if next_position - 1 <= current_position: bad = True break earliest_location = positions[next_position - 1] + r current_amount += 1 current_position = next_position - 1 if bad: print(f"Case #{case}: IMPOSSIBLE") else: print(f"Case #{case}: {current_amount}")