#include<bits/stdc++.h>
#define int long long
#define INF INT_MAX
using namespace std;
const int maxn=5e5+5,mod1=INF,mod2=9223372036854775783,mod3=1145141919789;
int t,n;
int a[maxn];
signed main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin>>t;
while(t--){
cin>>n;
memset(a,0,sizeof(a));
int sum1=1,sum2=1,sum3=1,p,q1,q2,q3;
for(int i=1;i<=n;i++){
cin>>a[i];
sum1*=a[i];
sum2*=a[i];
sum3*=a[i];
sum1%=mod1;
sum2%=mod2;
sum3%=mod3;
if(i==1) p=a[i];
else p=__gcd(p,a[i]);
if(i==1) q1=a[i];
else q1=(q1*a[i]/__gcd(q1,a[i]));
if(i==1) q2=a[i];
else q2=(q2*a[i]/__gcd(q2,a[i]));
if(i==1) q3=a[i];
else q3=(q3*a[i]/__gcd(q3,a[i]));
q1%=mod1;
q2%=mod2;
q3%=mod3;
}
if(n==2) cout<<"Yes\n";
else{
if(q1*p==sum1 && q2*p==sum2 && q3*p==sum3) cout<<"Yes\n";
else cout<<"No\n";
}
}
return 0;
}
想到了两两互质,但是没有想到怎么做,敲了个暴力,但是有点像哈希,但只有 36 pts 有没有大佬这题用 “哈希”过了的,求指点