import sys
input = sys.stdin.readline

def I(): return int(input())
def MI(): return map(int, input().split())
def LI(): return list(map(int, input().split()))

def main():
    mod=10**9+7
    N=I()
    A=LI()
    ans=0
    #各ますに対する得点表を作っておく，取れる最大のマスカラ埋めていく？
    S=[[0]*N for _ in range(N)]
    #S[i][j]はi番目の数をj番目に持っていく
    for i in range(N):
        for j in range(N):
            S[i][j]=A[i]*abs(i-j)
            
    used=[0]*N#移動さきのマスjが使用済みか
    floor=0
    ceil=N-1
    #今移動できる両端
            
            
    def cle(ii,jj):
        for k in range(N):
            S[ii][k]=-1
            S[k][jj]=-1
            
    def se():
        maxx=-1
        maxi=-1
        maxj=-1
        for i in range(N):
            for k in range(2):
                if k==0:
                    j=floor
                else:
                    j=ceil
                temp=S[i][j]
                if temp>maxx:
                    maxx=temp
                    maxi=i
                    maxj=j
        return maxx,maxi,maxj
    
    ans=0
    for k in range(N):
        maxx,maxi,maxj=se()
        ans+=maxx
        cle(maxi,maxj)
        used[maxj]=1
        if maxj==ceil:
            for jj in range(ceil,-1,-1):
                if used[jj]==0:
                    ceil=jj
                    break
        if maxj==floor:
            for jj in range(floor,N,1):
                if used[jj]==0:
                    floor=jj
                    break
                


        
    
            
    print(ans)
        
        
        

main()
