#include <bits/stdc++.h>
const int MAX_N = 1e6;
const int INF = 1e9;
void fast_io() {
  std::ios_base::sync_with_stdio(false);
  std::cin.tie(NULL);
  std::cout.tie(NULL);
  std::cerr.tie(NULL);
}
bool a[MAX_N];
int main() {
  fast_io();
  int t;
  std::cin >> t;
  while (t--) {
    int n;
    std::cin >> n;
    long long ans = 1;
    for (int i = 0; i < n; i++) std::cin >> a[i];
    for (int i = 0; i < n; i++) {
      if (i == 0) continue;
      if (!a[i] and !a[i - 1]) {
        ans = -1;
        break;
      }
      if (a[i])
        if (a[i - 1])
          ans += 5;
        else
          ans++;
    }
    if (a[0] and ans != -1) ans++;
    std::cout << ans << "\n";
  }
  return 0;
}

### Prompt

Please provide a Cpp coded solution to the problem described below:

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

### Response

```cpp
#include <bits/stdc++.h>
const int MAX_N = 1e6;
const int INF = 1e9;
void fast_io() {
  std::ios_base::sync_with_stdio(false);
  std::cin.tie(NULL);
  std::cout.tie(NULL);
  std::cerr.tie(NULL);
}
bool a[MAX_N];
int main() {
  fast_io();
  int t;
  std::cin >> t;
  while (t--) {
    int n;
    std::cin >> n;
    long long ans = 1;
    for (int i = 0; i < n; i++) std::cin >> a[i];
    for (int i = 0; i < n; i++) {
      if (i == 0) continue;
      if (!a[i] and !a[i - 1]) {
        ans = -1;
        break;
      }
      if (a[i])
        if (a[i - 1])
          ans += 5;
        else
          ans++;
    }
    if (a[0] and ans != -1) ans++;
    std::cout << ans << "\n";
  }
  return 0;
}

```