#!/bin/python3 import sys def calculate(a,iter): value=0 s=0 for i in range(iter[1],iter[2]+1): s+=a[i] for i in range(iter[1],iter[2]+1): s=s-a[i] value+=s*a[i] return value def largestValue(A,n,calculate=calculate): # Return the largest value of any of A's nonempty subarrays. max_so_far=0 msf_l=msf_u=0 meh=0 tracker=[[0,0,0]] for i in range(n): meh=meh+A[i] if(meh<0): meh=0 msf_l=i+1 if(max_so_far<=meh): max_so_far=meh tracker[-1][0]=meh tracker[-1][1]=msf_l tracker[-1][2]=i #elif(max_so_far==meh): # tracker.append([meh,msf_l,i]) ans=0 for i in tracker: ans=calculate(A,i) return ans if __name__ == "__main__": n = int(input().strip()) A = list(map(int, input().strip().split(' '))) result = largestValue(A,n) print(result)