#!/bin/python3 import sys dp = [0] def largestValue(A): # Return the largest value of any of A's nonempty subarrays. global dp n = len(A) dp += [A[0] * A[1]] rsum = A[0] + A[1] for i in range(2, n): dp += [dp[-1] + rsum * A[i]] rsum += A[i] #select maximum i = dp.index(max(dp)) rsum = 0 for j in range(i + 1): rsum += A[j] res = max(dp) dp2 = max(dp) for j in range(0, i): rsum -= A[j] dp2 -= A[j] * rsum res = max(dp2, res) return res if __name__ == "__main__": n = int(input().strip()) A = list(map(int, input().strip().split(' '))) result = largestValue(A) print(result)