#include <bits/stdc++.h>
using namespace std;
vector<vector<pair<long long int, long long int>>> out(1e5);
vector<vector<long long int>> in(1e5);
long long int inf = 1e18;
long long int p = 1e9 + 7;
long long int phi(long long int n) {
  long long int result = n;
  for (long long int i = 2; i * i <= n; i++) {
    if (n % i == 0) {
      while (n % i == 0) n /= i;
      result -= result / i;
    }
  }
  if (n > 1) result -= result / n;
  return result;
}
long long int power(long long int x, long long int y, long long int p) {
  long long int res = 1;
  x = x % p;
  while (y > 0) {
    if (y & 1) res = (res * x) % p;
    y = y >> 1;
    x = (x * x) % p;
  }
  return res;
}
long long int modInverse(long long int n, long long int p) {
  return power(n, p - 2, p);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long int n, i, j, t, a, b, m, k, x, y, ctr, f;
  long double r;
  cin >> n;
  long long int arr[n];
  pair<long long int, long long int> cmax[n], temp;
  for (i = 0; i < n; i++) {
    cin >> arr[i];
    t = std::max(i, n - 1 - i);
    temp = make_pair(t * arr[i], i);
    cmax[i] = temp;
  }
  long long int ctr1 = 0, ctr2 = n - 1, ans = 0;
  for (i = 0; i < n; i++) {
    sort(cmax, cmax + n);
    if (cmax[n - 1].first != -1) ans += cmax[n - 1].first;
    j = cmax[n - 1].second;
    t = std::max(abs(ctr1 - j), abs(ctr2 - j));
    if (t == abs(ctr1 - j)) {
      ctr1++;
      if (ctr1 > ctr2) {
        ctr2--;
        ctr1--;
      }
    } else {
      ctr2--;
      if (ctr1 > ctr2) {
        ctr2++;
        ctr1++;
      }
    }
    arr[j] = -1;
    for (j = 0; j < n; j++) cmax[j].first = -1;
    for (j = 0; j < n; j++) {
      if (arr[j] != -1) {
        t = std::max(abs(ctr1 - j), abs(ctr2 - j));
        temp = make_pair(t * arr[j], j);
        cmax[j] = temp;
      }
    }
  }
  cout << ans;
  return 0;
}
