from typing import Dict, Any class SolutionBase: # internal code for @staticmethod def read_int(): return int(input()) @staticmethod def read_ints(): return [int(i) for i in input().split()] @staticmethod def read_line(): return input().strip() # implementation in subclass def load_data(self) -> Dict[str, Any]: raise NotImplementedError def solve(self, **kwargs): raise NotImplementedError def format_answer(self, answer) -> str: raise NotImplementedError def main(self): t = self.read_int() for i in range(1, t+1): answer = self.format_answer( self.solve( **self.load_data() ) ) print(f"Case #{i}: {answer}") class MySolution(SolutionBase): def load_data(self) -> Dict[str, Any]: card_count = self.read_int() card_list = self.read_ints() return { 'card_count': card_count, 'card_list': card_list } def solve(self, card_count, card_list): prev = 0 done = set() answer = [] for card in card_list: if prev == card: continue else: prev = card if card in done: return answer.append(card) done.add(card) return answer def format_answer(self, answer) -> str: if answer: return " ".join(map(str, answer)) else: return "IMPOSSIBLE" if __name__ == "__main__": MySolution().main()