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.util.*;
  import java.io.*;
   
  public class SolutionA{
         public static void main(String[] args) throws Exception{
                 Fast sc=new Fast();
        PrintWriter out=new PrintWriter(System.out);
             int t=sc.nextInt();
             
             while(t-->0){
              int n=sc.nextInt();
              int[] ar=new int[n];
              for(int i=0;i<n;i++){
                ar[i]=sc.nextInt();
              }
              int ans=1;
              boolean ok=false;
              if(ar[0]==1)ans++;
              int cnt=0;
              if(ar[0]==0)cnt++;
              for(int i=1;i<n;i++){
                   if(ar[i-1]==1 && ar[i]==1){
                    ans+=5;
                    cnt=0;
                   }
                   else if(ar[i]==1 && ar[i-1]==0){
                             ans++;
                             cnt=0;
                   }
                   else{
                     cnt++;
                   }
                   if(cnt>=2){
                        ok=true;
                   }
              }
              if(ok)out.println("-1");
              else out.println(ans);
  
             }
      out.close();
  }
  static void Sort(int[] ar){
      ArrayList<Integer> al=new ArrayList<>();
      for(int i=0;i<ar.length;i++){al.add(ar[i]);}
      Collections.sort(al);
      for(int i=0;i<al.size();i++)ar[i]=al.get(i);
    }
  static long gcd(int a,int b){
      if(b==0) return a;
      else return  gcd(b,a%b);
  }
  }
  class Pair{
      int x, y;
       Pair(int x,int y){
          this.x=x;
          this.y=y;
       }
  }
  class Fast{
    BufferedReader br; 
    StringTokenizer st;
    public Fast(){ br=new BufferedReader(new InputStreamReader(System.in)); }
    String next() 
          {  while (st == null || !st.hasMoreElements()) 
              {   try
                  {     st = new StringTokenizer(br.readLine()); } 
                  catch (IOException  e) 
                  {    e.printStackTrace(); } 
              } 
              return st.nextToken(); 
          }
    int nextInt(){  return Integer.parseInt(next()); }
    long nextLong(){     return Long.parseLong(next()); } 
    double nextDouble() {     return Double.parseDouble(next()); } 
    String nextLine() 
          { 
              String str = ""; 
              try{      str = br.readLine(); } 
              catch (IOException e)  {  e.printStackTrace(); } 
              return str; 
          } 
  }
      
  