#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int n;
int a[45];
bool dp[1000][1000];
double sum = 0;
bool check(double a, double b, double c)
{
if (a + b > c && a + c > b && b + c > a)
return true;
return false;
}
double area(double a, double b, double c)
{
double q = (a + b + c) / 2;
return sqrt(q * (q - a) * (q - b) * (q - c));
}
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
sum += a[i];
}
dp[0][0] = true;
for (int k = 1; k <= n; k++)
{
for (int i = sum / 2; i >= 0; i--)
{
for (int j = sum / 2; j >= 0; j--)
{
if ((i >= a[k] && dp[i - a[k]][j]) || (j >= a[k] && dp[i][j - a[k]]))
dp[i][j] = true;
}
}
}
double ans = -1;
for(int i=1;i<=sum/2;i++)
for (int j = 1; j <= sum / 2; j++)
{
if (dp[i][j] && check(i, j, sum - i - j))
{
ans = max(ans, area(i, j, sum - i - j));
}
}
if(ans!=-1)
ans= long long(ans*100);
cout << ans;
}