description: Petya has got an interesting flower. Petya is a busy person, so he sometimes forgets to water it. You are given n days from Petya's live and you have to determine what happened with his flower in the end.
  
  The flower grows as follows: 
  
    * If the flower isn't watered for two days in a row, it dies. 
    * If the flower is watered in the i-th day, it grows by 1 centimeter. 
    * If the flower is watered in the i-th and in the (i-1)-th day (i > 1), then it grows by 5 centimeters instead of 1. 
    * If the flower is not watered in the i-th day, it does not grow. 
  
  
  
  At the beginning of the 1-st day the flower is 1 centimeter tall. What is its height after n days?
  
  Input
  
  Each test contains multiple test cases. The first line contains the number of test cases t (1 ≤ t ≤ 100). Description of the test cases follows.
  
  The first line of each test case contains the only integer n (1 ≤ n ≤ 100).
  
  The second line of each test case contains n integers a_1, a_2, ..., a_n (a_i = 0 or a_i = 1). If a_i = 1, the flower is watered in the i-th day, otherwise it is not watered.
  
  Output
  
  For each test case print a single integer k — the flower's height after n days, or -1, if the flower dies.
  
  Example
  
  Input
  
  
  4
  3
  1 0 1
  3
  0 1 1
  4
  1 0 0 1
  1
  0
  
  
  Output
  
  
  3
  7
  -1
  1
solution: from math import *
   
  #from math import factorial as fact, comb as ncr 
  from bisect import bisect_left as bl
  from bisect import bisect_right as br
  from collections import Counter as ctr
  from collections import deque as dq
  
  from array import array
  from re import search
   
  li=lambda : list(map(int,input().split()))
  arr=lambda a: array('i',a)
  bi=lambda n: bin(n).replace("0b", "")
  yn=lambda f: print('NYOE S'[f::2])
  sbstr=lambda a,s: search('.*'.join(a),s)
  
  '''def isprime(a):
      if a==2: return True
      elif a%2==0: return False
      n=3
      while n<=a**0.5:
          if a%n==0:
              return False
          n+=2
      return True
  '''
  '''def nf(n,a):
      b=a*a
      c=b*a
      d=c*a
      e=n
      ct=0
      while e%a==0:
          if e%d==0:
              ct+=4
              e=e//d
          if e%c==0:
              ct+=3
              e=e//c
          if e%b==0:
              ct+=2
              e=e//b
          if e%a==0:
              ct+=1
              e=e//a
      return ct
  '''
  
  def solve():
      for _ in range(int(input())):
          n=int(input())
          a=input()
          if '0 0' in a:
              print(-1)
          else:
              a=list(map(int,a.split()))
              pf=False
              l=1
              for i in range(n):
                  if a[i]==1:
                      l+=1+4*pf
                      pf=True
                  else:
                      pf=False
              print(l)
  
  
  solve()