/*
* Copyright (c) 2024 Emon Thakur
* All rights reserved.
*/
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
#define fr freopen("input19.txt","r",stdin)
//ofstream file("output19.txt");
void solve()
{
ll n; cin>>n;
ll a[n];
for(int i=0;i<n;i++) cin>>a[i];
ll m = 20;
vector<vector<vector<ll>>> dp(m,vector<vector<ll>>(n+1,vector<ll>(4,1e17)));
// first column
for(ll i=0;i<m;i++) dp[i][0][0] = a[0]*i;
// second column
dp[0][1][0] = dp[1][0][0]; dp[0][1][1] = 1; dp[0][1][2] = dp[2][0][0]; dp[0][1][3] = 2; // first row
dp[1][1][0] = 0 + a[1]; dp[1][1][1] = 0; dp[1][1][2] = a[1]+dp[2][0][0]; dp[1][1][3] = 2; // second row
for(ll i=2;i<m;i++)
{
dp[i][1][0] = a[1]*i;
dp[i][1][1] = 0;
dp[i][1][2] = a[1]*i + a[0];
dp[i][1][3] = 1;
}
//dp
for(ll col=2;col<n;col++)
{
for(ll i=0;i<m;i++)
{
// dp[i][col][0] and dp[i][col][1];
for(ll j=0;j<m;j++)
{
if(i==j) continue;
if(dp[j][col-1][0] < dp[i][col][0] && dp[j][col-1][1] != i)
{
dp[i][col][0] = dp[j][col-1][0];
dp[i][col][1] = j;
}
if(dp[j][col-1][2] < dp[i][col][0] && dp[j][col-1][3] != i)
{
dp[i][col][0] = dp[j][col-1][2];
dp[i][col][1] = j;
}
}
ll k = dp[i][col][1];
// dp[i][col][2] and dp[i][col][3];
for(ll j=0;j<m;j++)
{
if(j==i || j==k) continue;
if(dp[j][col-1][0] < dp[i][col][2] && dp[j][col-1][1] != i)
{
dp[i][col][2] = dp[j][col-1][0];
dp[i][col][3] = j;
}
if(dp[j][col-1][2] < dp[i][col][2] && dp[j][col-1][3] != i)
{
dp[i][col][2] = dp[j][col-1][2];
dp[i][col][3] = j;
}
}
dp[i][col][0] += a[col]*i;
dp[i][col][2] += a[col]*i;
}
}
ll ans = 1e18;
for(int i=0;i<m;i++)
{
ans = min({ans , dp[i][n-1][0], dp[i][n-1][2]});
}
cout<<ans<<endl;
//file<<ans<<endl;
}
int main()
{
//fr;
int t; cin>>t; while(t--) solve();
}