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: import sys
  testing = len(sys.argv) == 4 and sys.argv[3] == "myTest"
  interactive = False
  if testing:
      cmd = sys.stdout
      from time import time
      start_time = int(round(time() * 1000)) 
      readAll = open(sys.argv[1], 'r').read
      sys.stdout = open(sys.argv[2], 'w')
  else:
      readAll = sys.stdin.read
  
  # ############ ---- I/O Functions ---- ############
  
  class InputData:
      def __init__(self):
          self.lines = readAll().split('\n')
          self.n = len(self.lines)
          self.ii = -1
      def input(self):
          self.ii += 1
          assert self.ii < self.n
          return self.lines[self.ii]
  
  flush = sys.stdout.flush
  if interactive and not testing:
      input = sys.stdin.readline
  else:
      inputData = InputData()
      input = inputData.input
  
  def intin():
      return(int(input()))
  def intlin():
      return(list(map(int,input().split())))
  def chrin():
      return(list(input()))
  def strin():
      return input()
  def lout(l, sep="\n", toStr=True):
      print(sep.join(map(str, l) if toStr else l))
  def dout(*args, **kargs):
      if not testing: return
      if args: print(args[0] if len(args)==1 else args)
      if kargs: print([(k,v) for k,v in kargs.items()])
  def ask(q):
      sys.stdout.write(str(q)+'\n')
      flush()
      return intin()
      
  # ############ ---- I/O Functions ---- ############
  
  # from math import ceil
  # from collections import defaultdict as ddict, Counter
  # from heapq import *
  # from Queue import Queue
  
  def main():
      n = intin()
      a = intlin()
      ans = 1
      for i in xrange(n):
          if a[i] == 1:
              ans += 1
              if i > 0 and a[i-1] == 1:
                  ans += 4
          else:
              if i > 0 and a[i-1] == 0:
                  return -1
      return ans
  
  anss = []
  for _ in xrange(intin()):
      anss.append(main())
      # anss.append("YES" if main() else "NO")
  lout(anss)
  
  if testing:
      sys.stdout = cmd
      print(int(round(time() * 1000))  - start_time)