/*
  AOJ 2106
  Title:Enegy Transporter
  @kankichi573
*/
#include <stdio.h>

int N;
int L;
int E[80];
void transport(int * a)
{
  a[2]+=a[0];
  a[1]--;
  a[0]=0;
}

int solve(int a[],int l)
{
  if(l==1 || l==2)
    return(a[l-1]);
  if(a[0]==0)
    return(solve(a+1,l-1));
  if(a[1]==0)
    return(solve(a+2,l-2));
  if(l==3)
    return(a[0]+a[2]);
  if((l % 2)==1)   //len=5,7,9...
    {
      if(a[3]==0)
	{
	      if(a[1]==1)
		{
		  if(a[2]==0)
		    return(solve(a+4,l-4));
		  transport(&a[1]);
		  return(solve(a+2,l-2));
		}
	}
      transport(&a[0]);
      return(solve(a+1,l-1));
    }
  else    // 4,6,8...
    {
	  transport(&a[0]);
	  return(solve(a+1,l-1));	    
    }
}
main()
{
  int i,j,ret;

  scanf("%d",&N);
  for(i=0;i<N;i++)
    {
      scanf("%d",&L);
      for(j=0;j<L;j++)
	scanf("%d ",&E[j]);
      ret=solve(E,L);
      printf("%d\n",ret);
    }
  return(0);
}