#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 220; const int Mod = 1e9 + 7; ll a[N]; int n; ll dp[N][N]; int main() { cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; a[i + n] = a[i]; } for (int len = 3; len <= n + 1; len++) { for (int i = 1, j; (j = i + len - 1) <= 2 * n; i++) { for (int k = i + 1; k < j; k++) { dp[i][j] = max(dp[i][j], dp[i][k] + dp[k][j] + a[i] * a[k] * a[j]); } } } ll ans = 0; for (int i = 1; i <= n; i++) { ans = max(ans, dp[i][n + i]); } cout << ans % Mod; return 0; }