#include<bits/stdc++.h>
using namespace std;
bool flag;
int n,minx,maxx;
vector<int>a(110);
vector<vector<int> >dp(110,vector<int>(110,0));
int main(){
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
scanf("%d%d",&minx,&maxx);
for(int len=minx;len<=n;len++){
for(int i=0;i+len-1<n;i++){
int j=i+len-1;
if(len>=minx && len<=maxx){
flag=true;
for(int k=i;k<=j;k++){
if(a[k]!=a[i]){
flag=false;
break;
}
}
if(flag){
dp[i][j]=len*len;
}
}
for(int k=i;k<j;k++){
dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]);
}
}
}
printf("%d",dp[0][n-1]);
return 0;
}