← Home
write a go solution for Description:
You are given a sequence a_1,a_2,ldots,a_n. Each element of a is 1 or 2.

Find out if an integer k exists so that the following conditions are met.

- 1<=qk<=qn-1, and
- a_1*a_2*ldots*a_k=a_k+1*a_k+2*ldots*a_n.

If there exist multiple k that satisfy the given condition, print the smallest.

Input Format:
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 one integer n (2<=n<=1000).

The second line of each test case contains n integers a_1,a_2,ldots,a_n (1<=a_i<=2).

Output Format:
For each test case, if there is no such k, print -1.

Otherwise, print the smallest possible k.

Note:
For the first test case, k=2 satisfies the condition since a_1*a_2=a_3*a_4*a_5*a_6=4. k=3 also satisfies the given condition, but the smallest should be printed.

For the second test case, there is no k that satisfies a_1*a_2*ldots*a_k=a_k+1*a_k+2*ldots*a_n

For the third test case, k=1, 2, and 3 satisfy the given condition, so the answer is 1.. Output only the code with no comments, explanation, or additional text.