#include<bits/stdc++.h>
using namespace std;
int n,a[500010];
int dp[500010][2];
int t[500010];
int pre[500010];
void solve1(){
for(int i=1;i<=n;i++){
for(int j=1;j<i;j++){
if(a[i]==a[j]){
dp[i][1]=max(dp[j][0]+2,dp[i][1]);
}
}
for(int j=i-1;j>=1;j--){
if(a[j]!=a[i]){
dp[i][0]=max(dp[i][0],dp[j][1]);
}
}
}
int maxn=0;
for(int i=1;i<=n;i++){
maxn=max(maxn,max(dp[i][0],dp[i][1]));
}
cout<<maxn;
}
void solve2(){
cout<<0;
}
void solve3(){
map<int,int>mp;
int ans=0;
for(int i=1;i<=n;i++){
if(mp[a[i]]==1){
ans++;
mp[a[i]]=1e9;
}
if(!mp[a[i]]) mp[a[i]]=1;
}
cout<<ans*2;
}
bool f[500010];
signed main(){
ios::sync_with_stdio(false);
cin.tie(NULL),cout.tie(NULL);
cin>>n;
for(int i=1;i<=n;i++) {
cin>>a[i];
}
if(n<=5000){
solve1();
}
else{
int fl=0;
for(int i=1;i<=n;i++){
if(f[a[i]]) {
fl=1;
}
f[a[i]]=1;
}
if(!fl){
solve2();
}
else{
solve3();
}
}
return 0;
}