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
); }
}
aW1wb3J0IGphdmEudXRpbC5BcnJheXM7CmltcG9ydCBqYXZhLnV0aWwuU2Nhbm5lcjsKCmNsYXNzIE1haW4gewogICAgc3RhdGljIGludFtdIHRyZWF0czsgICAgICAgCiAgICBzdGF0aWMgaW50W11bXSBkcDsKICAgIHN0YXRpYyBpbnQgbjsKCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbiB7CiAgICAgICAgU2Nhbm5lciBzYyA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CiAgICAgICAgbiA9IHNjLm5leHRJbnQoKTsKICAgICAgICB0cmVhdHMgPSBuZXcgaW50W25dOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgICAgIHRyZWF0c1tpXSA9IHNjLm5leHRJbnQoKTsKICAgICAgICB9CiAgICAgICAgZHAgPSBuZXcgaW50W25dW25dOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgICAgIEFycmF5cy5maWxsKGRwW2ldLCAtMSk7CiAgICAgICAgfQoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4ocHJvZml0KDAsIG4gLSAxKSk7CgogICAgfQoKICAgIHByaXZhdGUgc3RhdGljIGludCBwcm9maXQoaW50IGJlLCBpbnQgZW4pIHsKICAgICAgICBpZiAoYmUgPiBlbikgewogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAgICAgICAgaWYgKGRwW2JlXVtlbl0gIT0gLTEpIHsKICAgICAgICAgICAgcmV0dXJuIGRwW2JlXVtlbl07CiAgICAgICAgfQogICAgICAgIGludCB5ZWFyID0gbiAtIChlbiAtIGJlICsgMSkgKyAxOwogICAgICAgIHJldHVybiBkcFtiZV1bZW5dID0gTWF0aC5tYXgocHJvZml0KGJlICsgMSwgZW4pICsgdHJlYXRzW2JlXSAqIHllYXIsIHByb2ZpdChiZSwgZW4gLSAxKSArIHRyZWF0c1tlbl0gKiB5ZWFyKTsKICAgIH0KfQ==