#include <iostream>
using namespace std;
long int
f[101][101], s[101][101], b[101][2], n, ansmax;
void
__read__()
{
cin >> n >> b[1][0];
for( int i = 2; i <= n; i++ )
{
cin >> b[i][0];
b[i - 1][1] = b[i][0];
}
b[n][1] = b[1][0];
}
void
__dp__()
{
for( int j = 2; j <= n; j++ )
for( int i = 1; i <= n; i++ )
for( int k = 1; k < j; k++ )
{
int tmp = 0;
if( ( tmp = f[i][k] + f[( i + k - 1 ) % n + 1][j - k] +
b[i][0] * b[( i + k - 1 ) % n + 1][0] * b[( i + j - 2 ) % n + 1][1] )
> f[i][j] )
f[i][j] = tmp;
if( f[i][j] > ansmax && j == n )
ansmax = f[i][j];
}
}
void
__outp__()
{
cout << ansmax << endl;
}
int
main()
{
__read__();
__dp__();
__outp__();
return 0;
}