#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll f[20][20][20][20];
ll a[20];
ll dfs(int l,int r,int x,int y) {
	if(l+1>=r) return 0;
	ll ans=1e18;
	for(int i=l+1;i<r;i++) {
		ans=min(ans,dfs(l,i,x,x+y)+dfs(i,r,x+y,y)+a[i]*(x+y));
	}
	return f[l][r][x][y]=ans;
}
int main() {
	int n;
	scanf("%d",&n);
	for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
	memset(f,-1,sizeof f);
	printf("%lld\n",a[1]+a[n]+dfs(1,n,1,1));
	return 0;
}