E. Split
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

One day, BThero decided to play around with arrays and came up with the following problem:

You are given an array $$$a$$$, which consists of $$$n$$$ positive integers. The array is numerated $$$1$$$ through $$$n$$$. You execute the following procedure exactly once:

  • You create a new array $$$b$$$ which consists of $$$2n$$$ positive integers, where for each $$$1 \le i \le n$$$ the condition $$$b_{2i-1}+b_{2i} = a_i$$$ holds. For example, for the array $$$a = [6, 8, 2]$$$ you can create $$$b = [2, 4, 4, 4, 1, 1]$$$.
  • You merge consecutive equal numbers in $$$b$$$. For example, $$$b = [2, 4, 4, 4, 1, 1]$$$ becomes $$$b = [2, 4, 1]$$$.

Find and print the minimum possible value of $$$|b|$$$ (size of $$$b$$$) which can be achieved at the end of the procedure. It can be shown that under the given constraints there is at least one way to construct $$$b$$$.

Input

The first line of the input file contains a single integer $$$T$$$ ($$$1 \le T \le 5 \cdot 10^5$$$) denoting the number of test cases. The description of $$$T$$$ test cases follows.

The first line of each test contains a single integer $$$n$$$ ($$$1 \le n \le 5 \cdot 10^5$$$).

The second line contains $$$n$$$ space-separated integers $$$a_1$$$, $$$a_2$$$, ..., $$$a_n$$$ ($$$2 \le a_i \le 10^9$$$).

It is guaranteed that $$$\sum{n}$$$ over all test cases does not exceed $$$5 \cdot 10^5$$$.

Output

For each test case, print a single line containing one integer — the minimum possible value of $$$|b|$$$.

Example
Input
3
3
6 8 2
1
4
3
5 6 6
Output
3
1
2