N=int(input()) A=list(map(int, input().split())) L=[A[0]] LL=[A[0]] for i in range(1,N): a=A[i] L.append((max(a,L[-1]+a))) LL.append((min(a,LL[-1]+a))) B=A[::-1] R=[B[0]] RR=[B[0]] for i in range(1,N): a=B[i] R.append((max(a,R[-1]+a))) RR.append((min(a,RR[-1]+a))) R=R[::-1] RR=RR[::-1] for i in range(N-2,-1,-1): R[i]=max(R[i],R[i+1]) RR[i]=min(RR[i],RR[i+1]) ans=-10**10 for i in range(N-1): ans=max(ans,L[i]*R[i+1],LL[i]*RR[i+1]) print(ans)