def color_order(N, colors): assigned_values = {} prev_color = None prev_value = 0 for color in colors: if color != prev_color: if color in assigned_values and assigned_values[color] != prev_value + 1: return "IMPOSSIBLE" assigned_values[color] = prev_value + 1 prev_color = color prev_value = assigned_values[color] return " ".join(map(str, sorted(assigned_values.keys(), key=lambda x: assigned_values[x]))) def main(): T = int(input()) for t in range(1, T + 1): N = int(input()) colors = list(map(int, input().split())) result = color_order(N, colors) print(f"Case #{t}: {result}") if __name__ == "__main__": main()