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