n,*a=map(int,open(0).read().split()) INF=1<<60 ans=-INF if 0 in a: ans=0 def f(K,T): ms=-INF s=smin=0 ret=[] for i in a[::T]: s+=K*i ms=max(ms,s-smin) ret+=ms, smin=min(smin,s) return ret l=f(1,1) r=f(1,-1)[::-1] for i,j in zip(l,r[1:]): ans=max(ans,i*j) l=f(-1,1) r=f(-1,-1)[::-1] for i,j in zip(l,r[1:]): ans=max(ans,i*j) print(ans)