import java.util.Arrays;
import java.util.Scanner;
class Main {
static int[] treats;
static int[][] dp;
static int n;
Scanner sc
= new Scanner
(System.
in); n = sc.nextInt();
treats = new int[n];
for (int i = 0; i < n; i++) {
treats[i] = sc.nextInt();
}
dp = new int[n][n];
for (int i = 0; i < n; i++) {
}
System.
out.
println(profit
(0, n
- 1));
}
private static int profit(int be, int en) {
if (be > en) {
return 0;
}
if (dp[be][en] != -1) {
return dp[be][en];
}
int year = n - (en - be + 1) + 1;
return dp
[be
][en
] = Math.
max(profit
(be
+ 1, en
) + treats
[be
] * year, profit
(be, en
- 1) + treats
[en
] * year
); }
}