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]: return { 'rps': self.read_line() } def solve(self, rps): if len(set(rps)) == 1: return (len(rps) + 1) // 2 prev = "" prev_count = 0 answer = 0 for char in rps: if prev == char: prev_count += 1 else: answer += prev_count // 2 prev, prev_count = char, 1 last_count = len(rps) - len(rps.strip(rps[0])) answer += last_count // 2 return answer def format_answer(self, answer) -> str: return str(answer) if __name__ == "__main__": MySolution().main()