N = int(input()) A = list(map(int, input().split())) now = 0 tmp = 0 vec = list() for i in range(0, N): if now == A[i]: tmp = tmp + 1 else: if tmp > 0: vec.append(tmp) now = A[i] tmp = 1 if tmp > 0: vec.append(tmp) dp = [[0 for i in range(2)] for i in range(len(vec) + 1)] for i in range(len(vec)): dp[i + 1][0] = max(dp[i + 1][0], dp[i][1], dp[i][0]) dp[i + 1][1] = max(dp[i + 1][1], dp[i][0] + vec[i]) print(max(dp[-1][0], dp[-1][1]))