#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; }