#include<bits/stdc++.h>
using namespace std;
int a[200010];
vector<int>v[200010];
unordered_map<int,int>mp;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int l=0;
int id=0;
for(int i=1;i<=n;i++){
if(i==1 || a[i]==a[i-1]){
l++;
}
//cout<<l<<endl;
if((a[i]!=a[i-1] && i!=1)|| i==n){
//cout<<i<<" "<<l<<endl;
if(l<=1 && !v[id].empty()){
id++;
}
if(l>2){
v[id].push_back(a[i-1]);
++id;
v[id].push_back(a[i-1]);
}
if(l==2){
v[id].push_back(a[i-1]);
}
l=1;
}
//cout<<l<<endl;
}
int ans=0;
for(int i=0;i<=id;i++){
int len=v[i].size();
//cout<<len<<endl;
mp.clear();
deque<int>q;
q.clear();
for(int j=0;j<len;j++){
q.push_back(v[i][j]);
if(mp[v[i][j]]==1){
while(!q.empty()){
int tp=q.front();q.pop_front();
if(tp==v[i][j]){
break;
}
}
}
mp[v[i][j]]=1;
}
int p=(q.size())*2;
ans=max(p,ans);
}
cout<<ans;
}
/*11 1122 2211
*/
思路是分成小块再求值
wa 了18个