n = int(input()) a = list(map(int, input().split())) # Calculate max_same from collections import defaultdict max_same = 0 current_val = None current_length = 0 count = defaultdict(int) for num in a: if num == current_val: current_length += 1 else: if current_val is not None: count[current_val] += current_length current_val = num current_length = 1 # Add the last segment if current_val is not None: count[current_val] += current_length if count: max_same = max(count.values()) else: max_same = 0 # Calculate max_non_adjacent using House Robber approach prev1, prev2 = 0, 0 for _ in a: current = max(prev1, prev2 + 1) prev2, prev1 = prev1, current max_non_adjacent = prev1 # Determine the answer print(max(max_same, max_non_adjacent))