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