#include <stdio.h>
#include <stdlib.h>
typedef long long ll;

int compare(const void*a, const void*b){
    ll va = *(ll*)a;
    ll vb = *(ll*)b;
    if (va < vb) return -1;
    if (va > vb) return 1;
    return 0;
}
int main(void) {
    int n;
    scanf("%d", &n);

    int*a = (int*)malloc(n * sizeof(int));
    ll*prefix = (ll*)malloc((n+1) * sizeof(ll)); 
    prefix[0] = 0;
    for(int i = 0; i < n; i++){
        scanf("%d", &a[i]);
        prefix[i+1] = prefix[i] + a[i];
    }
    ll res = 0;
    int r = 0;
    ll max = 0;
    ll sum[1000005];
    for(int r = 0; r < n; r++){
        res = prefix[n] - prefix[r+1];    //后半部分总和
        sum[r] = res * prefix[r + 1];
    }
    qsort(sum, n, sizeof(ll), compare);
    printf("%lld", sum[1]);

    free(a);
    free(prefix);
    return 0;
}