我真找不出那错了
#include<bits/stdc++.h>
using namespace std;
int bb=1,b[1500]={2,3};
void sea(int x)
{ for(int i=b[bb]+2;i*i<=x;i+=2)
{ bool f=1;
for(int j=0;b[j]*b[j]<=i;j++)
if(i%b[j]==0)
{ f=0;
break;
}
if(f==1)
b[++bb]=i;
}
return;
}
void xsjm()
{ bool bf[1500];
int a[500000],m=0,ma=0;
memset(bf,0,sizeof(bf));
memset(a,0,sizeof(a));
scanf("%d",&m);
for(int i=0;i<m;i++)
scanf("%d",&a[i]),ma=max(a[i],ma);
if(m==2)
{ printf("Yes\n");
return;
}
sea(ma);
for(int i=0;i<m;i++)
for(int j=0;j<=bb;j++)
if(a[i]%b[j]==0)
{ if(bf[j]==1)
{ printf("No\n");
return;
}
bf[j]=1;
}
printf("Yes\n");
return;
}
int main()
{ int t;
scanf("%d",&t);
for(int i=0;i<t;i++)
xsjm();
return 0;
}