#include<bits/stdc++.h>
using namespace std;
int p[2005000],cnt=0;
bool vs[2005000];
int a[300005];
int t,n;
bool vis[100001];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
for(register int i=2;i<=100000;i++){
if(!vs[i]){
p[cnt++]=i;
vs[i]=1;
}
for(register int j=0;j<cnt;j++){
if(i*p[j]>100000)break;
vs[i*p[j]]=1;
if(i%p[j]==0)break;
}
}
cin>>t;
while(t-->0){
memset(vis,0,sizeof(vis));
cin>>n;
for(register int i=0;i<n;i++)cin>>a[i];
sort(a,a+n);
for(register int i=0;i<n-1;i++)if(a[i]==a[i+1]){cout<<"No\n";goto l;}
if(n==2){
cout<<"Yes\n";
continue;
}
for(register int i=0;i<n;i++)
for(register int j=0;j<cnt;j++)
if(p[j]!=0&&a[i]%p[j]==0){
if(vis[j]){
cout<<"No\n";
goto l;
}
vis[j]=1;
}
cout<<"Yes\n";
l:{}
}
}
一定要特判下 p[j]!=0,否则会 RE,100->96。