전구 장식

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

축제 기간이 되면 상근이는 매년 복도를 화려한 전구 장식으로 꾸민다. 장식은 일렬로 늘어선 전구 $N$개로 이루어지며, 각 전구는 켜져 있거나 꺼져 있다.

상근이는 전구를 조작하는 기계를 가져왔다. 이 기계는 연속한 구간을 하나 지정하면, 그 구간에 있는 전구의 상태를 모두 반전시킨다. 즉 켜져 있던 전구는 끄고, 꺼져 있던 전구는 켠다. 다만 이 기계는 매우 낡아서, 한 번 사용하면 다음 해가 될 때까지 다시 쓸 수 없다.

학생들은 켜진 전구와 꺼진 전구가 번갈아 나타나는 배열을 좋아하는데, 이러한 배열을 교대 패턴이라고 부른다. 상근이는 기계를 최대 한 번만 사용해서 가장 긴 교대 패턴을 만들려고 한다.

예를 들어 전구가 다음과 같이 놓여 있다고 하자. (○는 켜진 전구, ●는 꺼진 전구)

○ ○ ● ● ○ ● ○ ○ ○ ●

여기서 4번째부터 7번째까지 네 개의 전구에 기계를 사용하면 다음과 같이 바뀐다.

○ ○ ● ○ ● ○ ● ○ ○ ●

이때 2번째부터 8번째까지가 길이 7인 교대 패턴을 이룬다.

또는 8번째 전구 하나에만 기계를 사용하면 다음과 같이 바뀐다.

○ ○ ● ● ○ ● ○ ● ○ ●

이 경우에는 4번째부터 10번째까지가 길이 7인 교대 패턴을 이룬다.

이 예에서는 기계를 한 번만 써서 길이가 8 이상인 교대 패턴을 만들 수 없다.

전구의 초기 상태가 주어질 때, 기계를 최대 한 번 사용해서 만들 수 있는 가장 긴 교대 패턴의 길이를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 전구의 개수 $N$이 주어진다. ($2 \le N \le 100{,}000$)

둘째 줄에는 왼쪽 전구부터 순서대로 각 전구의 상태가 공백으로 구분되어 주어진다. 상태는 $1$ 또는 $0$이며, $1$은 켜진 상태, $0$은 꺼진 상태를 뜻한다.

출력

첫째 줄에 기계를 최대 한 번 사용해서 만들 수 있는 가장 긴 교대 패턴의 길이를 출력한다.