记录
#include<bits/stdc++.h>
using namespace std;
#define int long long
int a[200005],b[200005];
int gcd(int x,int y){
int t;
while(x%y!=0){
t=x%y;
x=y;
y=t;
}
return y;
}
signed main(){
int t;
cin>>t;
while(t--){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<n;i++){
b[i]=gcd(a[i],a[i+1]);
}
bool f=0;
int l,r;
int n1=n-1;
for(int i=1;i<n1;i++){
if(b[i]>b[i+1]){
if(f==0){
f=1;
l=i;
}
r=i+1;
}
}
if(r-l+1>3){
if(r-l==3){
int x=r-1;
if(((x>2&&x<n)?b[x-2]<=gcd(a[x-1],a[x+1]):1)&&((x>1&&x<n-1)?gcd(a[x-1],a[x+1])<=b[x+1]:1)){
cout<<"YES\n";
continue;
}
}
cout<<"NO\n";
continue;
}
if(f==0){
cout<<"YES\n";
continue;
}
f=0;
for(int x=(r-l==1?l:l+1);x<=(r-l==1?r+1:r);x++){
if(((x>2&&x<n)?b[x-2]<=gcd(a[x-1],a[x+1]):1)&&((x>1&&x<n-1)?gcd(a[x-1],a[x+1])<=b[x+1]:1)){
cout<<"YES\n";
f=1;
break;
}
}
if(f==0){
cout<<"NO\n";
}
}
return 0;
}