#include <stdio.h>
#include <stdlib.h>
int cmp(const void *x,const void *y)
{
return *(int *)x-*(int *)y;
}
int Min(int a,int b)
{
return a<b?a:b;
}
int main()
{
int ar[1001],n,i,min,m;
scanf("%d",&m);
while (m--)
{
scanf("%d",&n);
for(i=0;i<n;i++)scanf("%d",&ar[i]);
qsort(ar,n,sizeof(int),cmp);
min=0;
if (n>=4)
{
for (;n>=4;n-=2)
{
min+=Min(ar[n-1]+2*ar[1]+ar[0],ar[n-1]+ar[n-2]+2*ar[0]);
}
}
if (n==3)
{
printf("%d\n",min+ar[0]+ar[1]+ar[2]);
}
else if (n==2)
{
printf("%d\n",min+ar[1]);
}
else
{
printf("%d\n",ar[0]);
}
}
return 0;
}