← Home
write a go solution for Description:
GCD (Greatest Common Divisor) of two integers x and y is the maximum integer z by which both x and y are divisible. For example, GCD(36,48)=12, GCD(5,10)=5, and GCD(7,11)=1.

Kristina has an array a consisting of exactly n positive integers. She wants to count the GCD of each neighbouring pair of numbers to get a new array b, called GCD-sequence.

So, the elements of the GCD-sequence b will be calculated using the formula b_i=GCD(a_i,a_i+1) for 1<=i<=n-1.

Determine whether it is possible to remove exactly one number from the array a so that the GCD sequence b is non-decreasing (i.e., b_i<=b_i+1 is always true).

For example, let Khristina had an array a = [20,6,12,3,48,36]. If she removes a_4=3 from it and counts the GCD-sequence of b, she gets:

- b_1=GCD(20,6)=2
- b_2=GCD(6,12)=6
- b_3=GCD(12,48)=12
- b_4=GCD(48,36)=12

Input Format:
The first line of input data contains a single number t (1<=t<=10^4) — he number of test cases in the test.

This is followed by the descriptions of the test cases.

The first line of each test case contains a single integer n (3<=n<=2*10^5) — the number of elements in the array a.

The second line of each test case contains exactly n integers a_i (1<=a_i<=10^9) — the elements of array a.

It is guaranteed that the sum of n over all test case does not exceed 2*10^5.

Output Format:
For each test case, output a single line:

- "YES" if you can remove exactly one number from the array a so that the GCD-sequence of b is non-decreasing;
- "NO" otherwise.

You can output the answer in any case (for example, the strings "yEs", "yes", "Yes", and "YES" will all be recognized as a positive answer).

Note:
The first test case is explained in the problem statement.. Output only the code with no comments, explanation, or additional text.