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 collections import Counter
  from sys import *
  from collections import defaultdict as dd
  from math import *
  
  # sys.stdin = open('input.txt', 'r')  
  # sys.stdout = open('output.txt', 'w')
  
  #input functions
  def inp():
      return int(stdin.readline().strip())
  def vinp():
      return map(int,stdin.readline().strip().split())
  def linp():
      return list(map(int,stdin.readline().strip().split()))
  def sinp(n = 1):
      if n==1:
          return stdin.readline().strip()
      elif n==2:
          return list(stdin.readline().strip())
      else:
          return list(stdin.readline().split())
  
  #output function
  def pr(*x, end = "\n"):
      print(*x,end = end)
  
  #others
  def mod(f, val = 1000000007):
      return f % val
  def csort(c):
      sorted(c.items(), key=lambda pair: pair[1], reverse=True)
  def indc(l,n):
      c={}
      for i in range(n):
          c[l[i]]=c.get(l[i],[])+[i+1]
      return c
  
  if __name__ =="__main__":
      cou=inp()
      for _ in range(cou):
          n = inp()
          l = linp()
          prev = l[0]
          h = 1
          if prev == 1:
              h+=1
          for i in range(1,n):
              if prev == 1 and l[i] == 1:
                  h+=5
              elif prev == 0 and l[i] == 0:
                  h = -1
                  break
              elif l[i]==1:
                  h+=1
              prev = l[i]
          pr(h)