write a go solution for Description: Suppose you have two points p=(x_p,y_p) and q=(x_q,y_q). Let's denote the Manhattan distance between them as d(p,q)=|x_p-x_q|+|y_p-y_q|. Let's say that three points p, q, r form a bad triple if d(p,r)=d(p,q)+d(q,r). Let's say that an array b_1,b_2,...,b_m is good if it is impossible to choose three distinct indices i, j, k such that the points (b_i,i), (b_j,j) and (b_k,k) form a bad triple. You are given an array a_1,a_2,...,a_n. Calculate the number of good subarrays of a. A subarray of the array a is the array a_l,a_l+1,...,a_r for some 1<=l<=r<=n. Note that, according to the definition, subarrays of length 1 and 2 are good. Input Format: The first line contains one integer t (1<=t<=5000) — the number of test cases. The first line of each test case contains one integer n (1<=n<=2*10^5) — the length of array a. The second line of each test case contains n integers a_1,a_2,...,a_n (1<=a_i<=10^9). It's guaranteed that the sum of n doesn't exceed 2*10^5. Output Format: For each test case, print the number of good subarrays of array a. Note: In the first test case, it can be proven that any subarray of a is good. For example, subarray [a_2,a_3,a_4] is good since it contains only three elements and: - d((a_2,2),(a_4,4))=|4-3|+|2-4|=3 < d((a_2,2),(a_3,3))+d((a_3,3),(a_4,4))=3+1+2+1=7; - d((a_2,2),(a_3,3)) < d((a_2,2),(a_4,4))+d((a_4,4),(a_3,3)); - d((a_3,3),(a_4,4)) < d((a_3,3),(a_2,2))+d((a_2,2),(a_4,4)); In the second test case, for example, subarray [a_1,a_2,a_3,a_4] is not good, since it contains a bad triple (a_1,1), (a_2,2), (a_4,4): - d((a_1,1),(a_4,4))=|6-9|+|1-4|=6; - d((a_1,1),(a_2,2))=|6-9|+|1-2|=4; - d((a_2,2),(a_4,4))=|9-9|+|2-4|=2; So, d((a_1,1),(a_4,4))=d((a_1,1),(a_2,2))+d((a_2,2),(a_4,4)).. Output only the code with no comments, explanation, or additional text.