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.io.PrintWriter;
  import java.util.StringTokenizer;
  
  public class Solution66 {
  
  	private final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  
  	private final PrintWriter pw = new PrintWriter(System.out);
  
  	public static void main(String[] args) {
  
  		Solution66 solution = new Solution66();
  
  		solution.solveCases();
  		solution.close();
  
  	}
  
  	private void solveCases() {
  
  		int t = readInt();
  		for (int i = 1; i <= t; i++) {
  			pw.println(solve());
  
  		}
  	}
  
  	private String solve() {
  		int n = readInt();
  		int[] a = readIntArr();
  
  		int h = 1;
  		for (int i = 0; i < n; i++) {
  			if (a[i] == 1) {
  				if (i == 0) {
  					h++;
  				} else {
  					if (a[i - 1] == 1) {
  						h += 5;
  					} else {
  						h++;
  					}
  				}
  			} else {
  				if (i > 0) {
  					if (a[i - 1] == 0)
  						return "-1";
  				}
  			}
  		}
  
  		return "" + h;
  	}
  
  	private void close() {
  
  		pw.close();
  
  	}
  
  	private String readLine() {
  		String line = null;
  		try {
  			line = br.readLine();
  		} catch (IOException e) {
  			e.printStackTrace();
  		}
  		return line;
  
  	}
  
  	private String readString() {
  		return readLine();
  
  	}
  
  	private long readLong() {
  		return Long.parseLong(readLine());
  	}
  
  	private int readInt() {
  		return Integer.parseInt(readLine());
  	}
  
  	private String[] stringArray() {
  
  		StringTokenizer st = new StringTokenizer(readLine());
  		int n = st.countTokens();
  		String ret[] = new String[n];
  		for (int i = 0; i < n; i++) {
  			ret[i] = st.nextToken();
  		}
  		return ret;
  
  	}
  
  	private int[] readIntArr() {
  		String[] str = stringArray();
  		int arr[] = new int[str.length];
  		for (int i = 0; i < arr.length; i++)
  			arr[i] = Integer.parseInt(str[i]);
  		return arr;
  	}
  
  	private double[] readDoubleArr() {
  		String[] str = stringArray();
  		double arr[] = new double[str.length];
  		for (int i = 0; i < arr.length; i++)
  			arr[i] = Double.parseDouble(str[i]);
  		return arr;
  	}
  
  	private long[] readLongArr() {
  		String[] str = stringArray();
  		long arr[] = new long[str.length];
  		for (int i = 0; i < arr.length; i++)
  			arr[i] = Long.parseLong(str[i]);
  		return arr;
  	}
  
  	private double readDouble() {
  		return Double.parseDouble(readLine());
  	}
  }
  