#include<stdio.h>
int n;
int min;
int i;
int num[5];
int vist[5];
void dfs(int step,int sum)
{
if(step==n)
{
if(sum>min)
min=sum;
return;
}
for(i=0;i<n;i++)
{
int iz,iy,flagz,flagy;
if(!vist[i])
{
vist[i]=1;
iz=i-1;
while(1)
{
if(iz<0)
{
flagz=0;
break;
}
if(!vist[iz])
{
flagz=1;
break;
}
if(vist[iz])
iz=iz-1;
}
iy=i+1;
while(1)
{
if(iy==n)
{
flagy=0;
break;
}
if(!vist[iy])
{
flagy=1;
break;
}
if(vist[iy])
iy=iy+1;
}
if(flagz&&flagy)
{
dfs(step+1,sum+num[iz]*num[iy]);
vist[i]=0;
}
if(!flagz&&flagy)
{
dfs(step+1,sum+num[iy]);
vist[i]=0;
}
if(flagz&&!flagy)
{
dfs(step+1,sum+num[iz]);
vist[i]=0;
}
if(!flagz&&!flagy)
{
dfs(step+1,sum+num[i]);
vist[i]=0;
}
}
}
}
int main()
{
freopen("input.txt","r",stdin);
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&num[i]);
min=-1;
dfs(0,0);
printf("%d",min);
return 0;
}