There are n students standing in a circle in some order. The index of the i-th student is p_i. It is guaranteed that all indices of students are distinct integers from 1 to n (i. e. they form a permutation).

Students want to start a round dance. A clockwise round dance can be started if the student 2 comes right after the student 1 in clockwise order (there are no students between them), the student 3 comes right after the student 2 in clockwise order, and so on, and the student n comes right after the student n - 1 in clockwise order. A counterclockwise round dance is almost the same thing — the only difference is that the student i should be right after the student i - 1 in counterclockwise order (this condition should be met for every i from 2 to n). 

For example, if the indices of students listed in clockwise order are [2, 3, 4, 5, 1], then they can start a clockwise round dance. If the students have indices [3, 2, 1, 4] in clockwise order, then they can start a counterclockwise round dance.

Your task is to determine whether it is possible to start a round dance. Note that the students cannot change their positions before starting the dance; they cannot swap or leave the circle, and no other student can enter the circle. 

You have to answer q independent queries.

Input

The first line of the input contains one integer q (1 ≤ q ≤ 200) — the number of queries. Then q queries follow.

The first line of the query contains one integer n (1 ≤ n ≤ 200) — the number of students.

The second line of the query contains a permutation of indices p_1, p_2, ..., p_n (1 ≤ p_i ≤ n), where p_i is the index of the i-th student (in clockwise order). It is guaranteed that all p_i are distinct integers from 1 to n (i. e. they form a permutation).

Output

For each query, print the answer on it. If a round dance can be started with the given order of students, print "YES". Otherwise print "NO".

Example

Input


5
4
1 2 3 4
3
1 3 2
5
1 2 3 5 4
1
1
5
3 2 1 5 4


Output


YES
YES
NO
YES
YES
/*package whatever //do not write package name here */

import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.regex.*;


public class GFG {
	public static void main (String[] args) {
	Scanner sc=new Scanner(System.in);
	int x=sc.nextInt();
	int k=0;
	for(int o=0;o<x;o++){
	    int a=sc.nextInt();
	    int []arr=new int[a];
	    for(int j=0;j<a;j++)
	    arr[j]=sc.nextInt();
	    int count1=0;
	    if(arr.length<4)
	    System.out.println("YES");
	    else{
	        count1=0;
	      for(int i=0;i<arr.length;i++)
	      {
	          if(arr[i]==1)
	         { k=i;
	          break;}
	      }
	      if(k==0)
	      {
	          if(arr[arr.length-1]==arr.length)
	          {
	              for(int l=0;l<arr.length-1;l++)
	              if(arr[l+1]-arr[l]!=1)
	              {count1=1;
	              break;}
	          }
	          else
	          if(arr[1]==arr.length)
	              {for(int l=1;l<arr.length-1;l++)
	              if(arr[l]-arr[l+1]!=1)
	              {count1=1;
	              break;}
	          }
	          else
	          count1=1;
	      }
	      else
	      if(k==1)
	      {
	          if(arr[0]==arr.length){
	              for(int l=1;l<arr.length-1;l++)
	              if(arr[l+1]-arr[l]!=1)
	              {count1=1;
	              break;}
	          }
	          else
	              if(arr[0]==2 && arr[2]==arr.length)
	              {
	                  for(int l=2;l<arr.length-1;l++)
	              if(arr[l+1]-arr[l]!=1)
	              {count1=1;
	              break;}
	              }
	              else
	              {count1=1;
	              }
	      }
	      else
	      if(k==arr.length-1){
	          if(arr[0]==arr.length){
	              for(int l=0;l<arr.length-2;l++)
	              if(arr[l]-arr[l+1]!=1)
	              {count1=1;
	              break;}
	          }
	          else
	          if(arr[arr.length-2]==arr.length){
	              for(int l=0;l<arr.length-2;l++)
	              if(arr[l+1]-arr[l]!=1)
	              {count1=1;
	              break;}
	          }
	          else
	          
	              count1=1;
	      }
	      else
	      if(k==arr.length-2){
	          if(arr[arr.length-1]==arr.length){
	              for(int l=0;l<arr.length-2;l++)
	              if(arr[l]-arr[l+1]!=1)
	              {count1=1;
	              break;}
	          }
	          else
	          if(arr[arr.length-3]==arr.length&&arr[arr.length-1]==2){
	              for(int l=0;l<arr.length-3;l++)
	              if(arr[l+1]-arr[l]!=1)
	              {count1=1;
	              break;}
	          }
	          else
	          
	              count1=1;
	      }
	      else
	      {
	          if(arr[k-1]==arr.length){
	              for(int l=0;l<k-1;l++){
	                  if(arr[l+1]-arr[l]!=1)
	                  {count1=1;
	                  break;}
	              }
	              if(count1==0){
	                  for(int l=k;l<arr.length-1;l++){
	                  if(arr[l+1]-arr[l]!=1)
	                  {count1=1;
	                  break;}
	              }
	              }
	          }
	          else
	          if(arr[k+1]==arr.length){
	              for(int l=0;l<k;l++){
	                  if(arr[l]-arr[l+1]!=1)
	                  {count1=1;
	                  break;}
	              }
	              if(count1==0){
	                  for(int l=k+1;l<arr.length-1;l++){
	                  if(arr[l]-arr[l+1]!=1)
	                  {count1=1;
	                  break;}
	              }
	              }
	          }
	          else
	          count1=1;
	          
	      }
	        if(count1==1)
		  System.out.println("NO");
		  else
		  System.out.println("YES");
	    }
		  
	}}
}