#include <stdio.h>
int time[1024];
int F1[1024];
int F2[1024];
void input(int n) {
int i;
for(i=0;i<n;i++) {
scanf("%d",time+i);
}
return;
}
int min(int a, int b) {
if(a<b) return a;
return b;
}
int cmp(const void* a, const void* b) {
return *(int*)a - *(int*)b;
}
int dp(int n) {
F1[0]=F2[0]=0;
F1[1]=F2[1]=time[0];
F1[2]=F2[2]=time[1];
F1[3]=F2[3]=time[0]+time[1]+time[2];
int i;
for(i=4;i<=n;i++) {
F2[i] = time[1] + time[0] +time[i-1] + time[1] + min(F1[i-2],F2[i-2]);
F1[i] = time[i-1]+time[0] + min(F1[i-1],F2[i-1]);
}
return min(F1[n],F2[n]);
}
int main(int argc, char* argv[]){
int t;
scanf("%d",&t);
while(t--) {
int n,res;
scanf("%d",&n);
input(n);
qsort(time,n,sizeof(time[0]),cmp);
res = dp(n);
printf("%d\n",res);
}
return 0;
}