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.lang.*;
  public class A {
   
  	public static void main(String[] args) {
  		
  		Scanner input = new Scanner(System.in);
  		
  		int t = input.nextInt();
  		int i,j;
  		int res;
  		
  		
  		for(i=0;i<t;i++) {
  			int n = input.nextInt();
  			res = 1;
  			int[] arr = new int[n];
  			
  			for(j=0;j<n;j++) {
  				arr[j] = input.nextInt();
  			}
  			if(arr[0]==1)
  				res++;
  			for(j=1;j<n;j++) {
  				
  				if(arr[j-1]==1) {
  					if(arr[j]==1)
  						res+=5;
  				}
  				else {
  					if(arr[j]==1)
  						res++;
  					else {
  						res = -1;
  						break;
  					}
  					
  				}
  			}
  			System.out.println(res);
  		}
  		 
  	}
  	
  	
  	
  	static int setbitNumber(int n)
      {
   
          
          int k = (int)(Math.log(n) / Math.log(2));
   
          
          return 1 << k;
      }
  	
  	static void leftrotate(int arr[],int i, int n)
      {
          int t = arr[i];
          int f;
          int j = i+1;
          for(;j<=n;j++) {
          	f = arr[j];
          	arr[j] = t;
          	t = f;
          	
          }
          arr[i] = t;
      }
  	
  	
  	
  	static int search(int l, int r,int x, int[]arr) {
  		if (r >= l) {
              int mid = l + (r - l) / 2;
    
              
              if (arr[mid] == x)
                  return mid;
    
             
              if (arr[mid] > x)
                  return search( l, mid - 1, x,arr);
    
              
              return search( mid + 1, r, x,arr);
  		}
  		return -1;
  	}
  		
  	
  		
  	static long coeff(int n, int k){    // nCr combination
  		    
  	    long res = 1;
  	 
  
  	        if (k > n - k)
  	            k = n - k;
  	 
  	        // Calculate value of
  	        // [n * (n-1) *---* (n-k+1)] / [k * (k-1) *----* 1]
  	        for (int i = 0; i < k; ++i) {
  	            res *= (n - i);
  	            res /= (i + 1);
  	        }
  	 
  	        return res;
  	 }
  	
  	
  	static long modpower(long x, long y, long p)
  	  {
  	    long res = 1; // Initialize result
  	 
  	    x = x % p; // Update x if it is more than or
  	    // equal to p
  	 
  	    if (x == 0)
  	      return 0; // In case x is divisible by p;
  	 
  	    while (y > 0)
  	    {
  	 
  	      // If y is odd, multiply x with result
  	      if ((y & 1) != 0)
  	        res = (res * x) % p;
  	 
  	      // y must be even now
  	      y = y >> 1; // y = y/2
  	      x = (x * x) % p;
  	    }
  	    return res;
  	  }
  	
  	
  	static int xor(int n){
  	        // If n is a multiple of 4
  	        if (n % 4 == 0)
  	            return n;
  	      
  	        // If n%4 gives remainder 1
  	        if (n % 4 == 1)
  	            return 1;
  	      
  	        // If n%4 gives remainder 2
  	        if (n % 4 == 2)
  	            return n + 1;
  	      
  	     return 0;
  	 }
  		
  		
  	static int getsum(int n)        // sum of digits
  	   {    
  	        int sum = 0;
  	          
  	        while (n != 0)
  	        {
  	            sum = sum + n % 10;
  	            n = n/10;
  	        }
  	      
  	   return sum;
  	}
  		
  		
  		
  	static boolean isPrime(int n)			//  check prime
  	    {
  	 
  	        if (n <= 1)
  	            return false;
  	        else if (n == 2)
  	            return true;
  	        else if (n % 2 == 0)
  	            return false;
  	 
  
  	        for (int i = 3; i <= Math.sqrt(n); i += 2)
  	        {
  	            if (n % i == 0)
  	                return false;
  	        }
  	        return true;
  	    }
  		
  	}	