#include<bits/stdc++.h>
using namespace std;
int T,n,a[500100],cnt;
bool vis[100000001]={1,1},flag,have[1000100];
int prime[1000100];
map<int,int>id;
void get_prime(){
for(int i=2;i<=100000000;i++){
if(!vis[i])prime[++cnt]=i,id[i]=cnt;
for(int j=1;j<=cnt&&i*prime[j]<=100000000;j++){
vis[i*prime[j]]=1;
if(i%prime[j]==0)break;
}
}
}
void work(int x){
for(int i=1;i<=cnt&&prime[i]*prime[i]<=x;i++){
if(x%prime[i]==0){
if(have[i])flag=0;
have[i]=1;
}
}
if(!vis[x]){
if(have[id[x]])flag=0;
have[id[x]]=1;
}
}
int read(){
int k=1,ans=0;char s=getchar();
while(s<'0'||s>'9'){if(s=='-')k=-1;s=getchar();}
while(s>='0'&&s<='9'){ans=ans*10+s-'0';s=getchar();}
return k*ans;
}
signed main() {
T=read();
get_prime();
while(T--){
n=read(),flag=1;
int now=1;
for(int i=1;i<=cnt;i++)
have[i]=0;
for(int i=1;i<=n;i++,now++)
a[i]=read(),work(a[i]);
if(n==2){
puts("Yes");
continue;
}
puts(flag?"Yes":"No");
}
return 0;
}
报错信息:g++: 编译器内部错误:File size limit exceeded signal terminated program as 请提交一份完整的错误报告, 如有可能请附上经预处理后的源文件。 参阅 https://gcc.gnu.org/bugs/ 以获取指示。