// 参照中大老哥思路做的
import java.io.*;
/**
* Welcome to vivo !
*/
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String inputStr = br.readLine();
int input[] = parseInts(inputStr.split(" "));
int output = solution(input);
System.out.println(output);
}
private static int[] parseInts(String[] strArr) {
if (strArr == null || strArr.length == 0) {
return new int[0];
}
int[] intArr = new int[strArr.length];
for (int i = 0; i
intArr[i] = Integer.parseInt(strArr[i]);
}
return intArr;
}
private static int solution(int[] input) {
// TODO Write your code here
if(input == null || input.length == 0){
return 0;
}
int len = input.length;
return DFS(input, len);
}
public static int DFS(int[] arr, int len){
if(len == 1){
return 1;
}
if(len == 2){
if(arr[0] == arr[1]){
return 4;
}else{
return 2;
}
}
int max = 0;
int L = 0;
for(int i = 1; i
if(arr[i] != arr[L]){
int[] copy = new int[len - (i - L)];
int j = 0;
for(; j
copy[j] = arr[j];
}
for(int r = i; r
copy[j++] = arr[r];
}
max = Math.max(max, DFS(copy, copy.length) + (i - L)*(i - L));
L = i;
}
}
if(L == 0){
return len * len;
}
int[] copy = new int[L];
for(int j = 0; j
copy[j] = arr[j];
}
max = Math.max(max, DFS(copy, copy.length) + (len - L) * (len - L));
return max;
}
}