/*For today, you happen to be the defeated. But what will you become tomorrow?*/
#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
#define int long long int
#define dbg if(debugg)
#define F first
#define S second
bool debugg = false;
template <typename T>
using order_set = tree<T, null_type,less<T>, rb_tree_tag,tree_order_statistics_node_update>;
template <typename T>
using minheap = priority_queue<T, vector<T>, greater<T>>;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
void solve()
{
int n;
cin >> n;
vector<int>v(n);
for(int i = 0; i < n; i ++) cin >> v[i];
vector<int>p = {0, 1, 2};
int ans = LLONG_MAX;
for(int itr = 0; itr < 6; itr ++){
int cur = 0;
for(int j = 0; j < n; j ++){
cur += p[j % 3] * v[j];
}
ans = min(ans, cur);
next_permutation(p.begin(), p.end());
}
cout << ans << '\n';
}
int32_t main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int t = 1;
cin >> t;
while(t--){
solve();
}
return 0;
}