#include <bits/stdc++.h>
using namespace std;
int n,a[300];
int dp[300][300];
int ans=0;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int len=1;len<n;len++){
for(int i=1;i+len<=n;i++){
int j=i+len;
for(int k=i;k<j;k++){
if(a[k]==a[k+1])dp[i][j]=max(dp[i][j],a[k]+1);
if(dp[i][k]==dp[k+1][j]&&dp[i][k]!=0&&dp[k+1][j]!=0)dp[i][j]=max(dp[i][j],dp[i][k]+1);
ans=max(ans,dp[i][k]+1);
}
}
}
cout<<ans;
return 0;
}