#include<bits/stdc++.h>
using namespace std;

#define rep(i, n) for(int (i) = 0; (i) < (n); (i)++)
#define repn(i, n) for(int (i) = 1; (i) <= (n); (i)++)
#define repr(i, n) for(int (i) = (n-1); (i) >= 0; (i)--)
#define all(x) (x).begin(), (x).end()
#define lint long long
#define ulint unsigned long long
#define ldou long double
#define fi first
#define se second
#define setpre(x) std::cout << fixed << setprecision(x)
#define ii(x) int x; cin >> (x)
#define ii2(x, y) int x, y; cin >> (x) >> (y)
#define ii3(x, y, z) int x, y, z; cin >> (x) >> (y) >> (z)
#define out(x) cout << (x) << endl
#define outs(x) cout << (x) << " "
#define yn(x) cout << ((x)?("Yes"):("No")) << endl
#define YN(x) cout << ((x)?("YES"):("NO")) << endl
#define bit_c(x) __builtin_popcountll(x)

inline void logger(){ std::cout << " [LOGGER] " << endl; }
template<typename A, typename... B>
void logger(const A& a, const B&... b){
    cout << a << " , ";
    logger(b...);
}

typedef pair<lint, lint> P;
const lint MOD = 1000000007;
const lint MOD9 = 998244353;
const lint INF = MOD * MOD;
const int MAX = 200005;

/* ...o(^-^)o... */


int main(){
    int n; cin >> n;
    vector<lint> a(n); rep(i, n) cin >> a[i];

    vector<pair<lint, P> > vp;
    rep(i, n) rep(k, n){
        lint l = abs(n-1-k-i);
        vp.push_back(make_pair(a[i]*l, P(i, k)));
    }

    sort(all(vp), [](auto& l, auto & r)->bool{
        return l.fi > r.fi;
    });

    bool used_h[MAX], used_w[MAX];
    rep(i, n){
        used_h[i] = false;
        used_w[i] = false;
    }

    int cnt = 0, i = 0; lint res = 0;
    while(cnt < n){
        auto p = vp[i];
        if(used_h[p.se.fi] || used_w[p.se.se]){
            i++; continue;
        }
        used_h[p.se.fi] = true;
        used_w[p.se.se] = true;
        res += p.fi;
        cnt++; i++;
    }

    out(res);
}