#include using namespace std; typedef long long ll; typedef pair pii; typedef pair pll; #define pb push_back #define mp make_pair #define rep(i,n) for(int i=0;i<(n);++i) constexpr int mod=1000000007; constexpr int mod1=998244353; vector dx={0,1,0,-1},dy={-1,0,1,0}; bool inside(int y,int x,int h,int w){ if(y=0 && x=0) return true; return false; } int main(){ cin.tie(0); ios::sync_with_stdio(false); int n;cin >> n; vector a(n); rep(i,n) cin >> a.at(i); vector> dp(n, vector(2)); dp[0][0] = 1; dp[0][1] = 0; for(int i = 1; i < n; i++){ if(a.at(i) == a.at(i - 1)){ dp[i][0] = max(dp[i - 1][0], dp[i - 1][1]) + 1; dp[i][1] = max(dp[i - 1][0], dp[i - 1][1]); } else{ dp[i][0] = dp[i - 1][1] + 1; if(i > 1) dp[i][0] = max(dp[i][0], max(dp[i - 2][0], dp[i - 2][1]) + 1); dp[i][1] = max(dp[i - 1][0], dp[i - 1][1]); } } cout << max(dp[n - 1][0], dp[n - 2][1]) << endl; }