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.BufferedReader;
  import java.io.IOException;
  import java.io.InputStreamReader;
  import java.util.ArrayList;
  import java.util.Collections;
  import java.util.StringTokenizer;
  
  
  public class Test{
  
  	static int flower(int n,int[] arr) {
  		int k = 0;
  		if(arr[0] == 0) {
  			k = 1;
  		}else {
  			k = 2;
  		}
  		for(int i=1;i<n;i++) {
  			if(arr[i-1] == 1 && arr[i] == 1) {
  				k += 5;
  			}
  			if(arr[i-1] == 0 && arr[i] == 1) {
  				k += 1;
  			}
  			if(arr[i-1] == 0 && arr[i] == 0) {
  				return -1;
  			}
  		}
  		
  		
  		return k;
  	}
  	  
  	
  	  public static void main(String[] args) {
  	        FastScanner fs = new FastScanner();
  	        int T = fs.nextInt();
  	        for(int tt=0;tt<T;tt++){ 
  	        	int n = fs.nextInt();
  		    	int[] arr = new int[n];
  		    	for(int i=0;i<n;i++) {
  		    		arr[i] = fs.nextInt();
  		    	}
  		    	
  		    	int ans = flower(n,arr);
  		    	System.out.println(ans);
  		    	
  	                      
  	        }
  	    }
  
  	    static void sort(int[] a){
  	        ArrayList<Integer> l = new ArrayList<>();
  	        for(int i:a) l.add(i);
  	        Collections.sort(l);
  	        for(int i=0;i<a.length;i++) a[i] = l.get(i);
  	    }
  
  
  	    static class FastScanner {
  	        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  	        StringTokenizer st=new StringTokenizer("");
  	        String next() {
  	            while (!st.hasMoreTokens())
  	                try {
  	                    st=new StringTokenizer(br.readLine());
  	                } catch (IOException e) {
  	                    e.printStackTrace();
  	                }
  	            return st.nextToken();
  	        }
  
  	        int nextInt() {
  	            return Integer.parseInt(next());
  	        }
  	        int[] readArray(int n) {
  	            int[] a=new int[n];
  	            for (int i=0; i<n; i++) a[i]=nextInt();
  	            return a;
  	        }
  	        long nextLong() {
  	            return Long.parseLong(next());
  	        }
  	    }
  	
  }