'''
区间DP问题
'''
N = int(input())
arr = list(map(int, input().split()))
# 把圈拆成链条
arr = arr * 2
from functools import lru_cache
# dp(i, j)表示区间i, j中所有计算顺序的选择中,最佳选择对应的最大收益
@lru_cache(typed=False, maxsize=128000000)
def dp(i, j):
if j - i < 2:
return 0
if j - i == 2:
return arr[i] * arr[i + 1] * arr[i + 2]
ans = 0
for k in range(i + 1, j):
tmp = dp(i, k) + dp(k, j) + arr[i] * arr[k] * arr[j]
ans = max(ans, tmp)
return ans
ans = 0
for i in range(N):
ans = max(ans, dp(i, i + N))
print(ans)