#include<bits/stdc++.h>
#define rep(i, n) for(int i=0; i<n; i++)
using namespace std;
using ll = long long;
using P = pair<int, int>;

int main(){
    int N;
    cin >> N;
    int A[N];
    rep(i, N) cin >> A[i];

    ll po[N];
    int st=0;
    int en=N-1;
    int S[N]={0};
    rep(i, N){
        //得点増加の最大値計算
        int po_max=0;
        int num=0;
        int flag=-1;
        rep(j, N){
            if(A[j]*(abs(j-st)) > po_max) po_max=A[j]*abs(j-st), num=j, flag=0;
            if(A[j]*(abs(j-en)) > po_max) po_max=A[j]*abs(j-en), num=j, flag=1;
        }

        //得点を増加させる
        A[num]=0;
        if(flag==0){
            S[st]=po_max;
            rep(j, N){
                st++;
                if(S[st]==0) break;
            }
        }else if(flag==1){
            S[en]=po_max;
            rep(j, N){
                en--;
                if(S[en]==0) break;
            }
        }
    }

    ll ans=0;
    rep(i, N) ans+=S[i];
    cout << ans << endl;
    return 0;
}