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 java.io.*;
  import java.util.*;
  import java.lang.*;
  import static java.lang.Math.*;
  
  // Sachin_2961 submission //
  public class CodeforcesA {
  
      public void solve() {
  
          int n = fs.nInt();
          int[]ar = new int[n];
          for(int i=0;i<n;i++){
              ar[i] = fs.nInt();
          }
          int height = 1;
          boolean unWatered = false;
          for(int i=0;i<n;i++){
              if(ar[i] == 1){
                  unWatered = false;
                  height++;
              }
              if( i > 0 && ar[i-1] > 0 && ar[i] > 0){
                  height = height+4;
              }
              if(ar[i] == 0 ){
                  if(unWatered){
                      height = -1;
                      break;
                  }
                  unWatered = true;
              }
          }
          out.println(height);
      }
      static class Pair{
          int f,s;
          Pair(int f,int s){
              this.f = f;
              this.s = s;
          }
      }
      static class PairI{
          int f,s,ind;
          PairI(int f,int s,int ind){
              this.f = f;
              this.s = s;
              this.ind = ind;
          }
      }
      static boolean multipleTestCase = true; static FastScanner fs; static PrintWriter out;
      public void run(){
          fs = new FastScanner();
          out = new PrintWriter(System.out);
          int tc = (multipleTestCase)?fs.nInt():1;
          while (tc-->0)solve();
          out.flush();
          out.close();
      }
      public static void main(String[]args){
          try{
              new CodeforcesA().run();
          }catch (Exception e){
              e.printStackTrace();
          }
  
      }
      static class FastScanner {
          BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
          StringTokenizer st=new StringTokenizer("");
          String n() {
              while (!st.hasMoreTokens())
                  try {
                      st=new StringTokenizer(br.readLine());
                  } catch (IOException e) {
                      e.printStackTrace();
                  }
              return st.nextToken();
          }
          String Line()
          {
              String str = "";
              try
              {
                  str = br.readLine();
              }catch (IOException e)
              {
                  e.printStackTrace();
              }
              return str;
          }
          int nInt() {return Integer.parseInt(n()); }
          long nLong() {return Long.parseLong(n());}
          double nDouble(){return Double.parseDouble(n());}
          int[]aI(int n){
              int[]ar = new int[n];
              for(int i=0;i<n;i++)
                  ar[i] = nInt();
              return ar;
          }
      }
      public static void sort(int[] arr){
          ArrayList<Integer> ls = new ArrayList<Integer>();
          for(int x: arr)
              ls.add(x);
          Collections.sort(ls);
          for(int i=0; i < arr.length; i++)
              arr[i] = ls.get(i);
      }
      public static void sort(long[] arr){
          ArrayList<Long> ls = new ArrayList<>();
          for(long x: arr)
              ls.add(x);
          Collections.sort(ls);
          for(int i=0; i < arr.length; i++)
              arr[i] = ls.get(i);
      }
  }