#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cctype>
#include <cmath>
#include <stack>
#include <queue>
#include <vector>
#include <set>
#include <map>
#include <list>
#include <stdio.h>
#include <string.h>
#include <cstdlib>
#include <math.h>
#include <bitset>
#include <iterator>
#include <iomanip>
#include <sstream>
#define INF 2000000000
using namespace std;
int dx[4]={1,0,-1,0},dy[4]={0,1,0,-1};
#define sym cout<<"-----------"<<endl;
#define ll long long
#define PL pair<long long, long long>
#define P pair<int,int>
#define mk make_pair
#define en endl
#define WHITE 0
#define BLACK 2
#define GRAY 1
#define RE return 0
#define int ll

//  Illuminaion



int a[110000];
signed main(){
  int n;
  cin>>n;
  for(int i=0; i<n; i++) cin>>a[i];
  for(int i=0; i<n; i++){
    if(i%2) a[i]^=1;
  }
  
  int cur=0;
  vector<int> v;
  for(int i=0; i<n; i++){
    if(i&&a[i]!=a[i-1]){
      v.push_back(cur);
      cur=1;
    }else cur++;
  }
  v.push_back(cur);
  int ret=v[0];
  if(v.size()>1){
    for(int i=0; i<v.size()-1; i++) ret=max(ret,v[i]+v[i+1]);
    for(int i=1; i<v.size()-1; i++){
      ret=max(ret,v[i-1]+v[i]+v[i+1]);
    }
  }
  cout<<ret<<en;
}













