/*Code by HsonW, 11/2 NH-Hue. Just a newbie <3*/
/*Tai sao em lai bo anh?*/
#include<bits/stdc++.h>
using namespace std;
using int64=long long;
#define ll long long
const int MOD=1e9+7;
const int MAX=1e6+100;
typedef pair<int,int> ii;
const int L=6000000;
const int MAXP=400000;
signed main(){
#define name "HsonW"
ios::sync_with_stdio(0);
cin.tie(NULL);
if(fopen(name ".inp", "r")){
freopen(name ".inp", "r", stdin);
freopen(name ".out", "w", stdout);
}
vector<bool>p(L+1,1);
p[0]=p[1]=0;
for(int i=2;i*i<=L;i++){
if(p[i]){
for(int j=i*i;j<=L;j+=i){
p[j]=0;
}
}
}
vector<int>pr;
pr.reserve(MAXP);
for(int i=2;i<=L&&pr.size()<MAXP;i++){
if(p[i]) pr.push_back(i);
}
int np=pr.size();
vector<ll>P(np+1,0);
for(int i=1;i<=np;i++){
P[i]=P[i-1]+pr[i-1];
}
int T;
cin>>T;
while(T--){
int n;
cin>>n;
vector<ll>a(n);
for(int i=0;i<n;i++) cin>>a[i];
sort(a.begin(),a.end(),greater<ll>());
vector<ll>S(n+1,0);
for(int i=1;i<=n;i++) S[i]=S[i-1]+a[i-1];
int k=0;
for(int i=1;i<=n&&i<=np;i++){
if(S[i]>=P[i]) k=i;
else break;
}
cout<<(n-k)<<"\n";
}
}
LypDb2RlIGJ5IEhzb25XLCAxMS8yIE5ILUh1ZS4gSnVzdCBhIG5ld2JpZSA8MyovCi8qVGFpIHNhbyBlbSBsYWkgYm8gYW5oPyovCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGludDY0PWxvbmcgbG9uZzsKI2RlZmluZSBsbCBsb25nIGxvbmcKY29uc3QgaW50IE1PRD0xZTkrNzsKY29uc3QgaW50IE1BWD0xZTYrMTAwOwp0eXBlZGVmIHBhaXI8aW50LGludD4gaWk7CmNvbnN0IGludCBMPTYwMDAwMDA7CmNvbnN0IGludCBNQVhQPTQwMDAwMDsKc2lnbmVkIG1haW4oKXsKICAgICNkZWZpbmUgbmFtZSAiSHNvblciCiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICBpZihmb3BlbihuYW1lICIuaW5wIiwgInIiKSl7CiAgICAgICAgZnJlb3BlbihuYW1lICIuaW5wIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3BlbihuYW1lICIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQogICAgdmVjdG9yPGJvb2w+cChMKzEsMSk7CiAgICBwWzBdPXBbMV09MDsKICAgIGZvcihpbnQgaT0yO2kqaTw9TDtpKyspewogICAgICAgIGlmKHBbaV0pewogICAgICAgICAgICBmb3IoaW50IGo9aSppO2o8PUw7ais9aSl7CiAgICAgICAgICAgICAgICBwW2pdPTA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICB2ZWN0b3I8aW50PnByOwogICAgcHIucmVzZXJ2ZShNQVhQKTsKICAgIGZvcihpbnQgaT0yO2k8PUwmJnByLnNpemUoKTxNQVhQO2krKyl7CiAgICAgICAgaWYocFtpXSkgcHIucHVzaF9iYWNrKGkpOwogICAgfQoKICAgIGludCBucD1wci5zaXplKCk7CiAgICB2ZWN0b3I8bGw+UChucCsxLDApOwogICAgZm9yKGludCBpPTE7aTw9bnA7aSsrKXsKICAgICAgICBQW2ldPVBbaS0xXStwcltpLTFdOwogICAgfQoKICAgIGludCBUOwogICAgY2luPj5UOwogICAgd2hpbGUoVC0tKXsKICAgICAgICBpbnQgbjsKICAgICAgICBjaW4+Pm47CgogICAgICAgIHZlY3RvcjxsbD5hKG4pOwogICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspIGNpbj4+YVtpXTsKICAgICAgICBzb3J0KGEuYmVnaW4oKSxhLmVuZCgpLGdyZWF0ZXI8bGw+KCkpOwogICAgICAgIHZlY3RvcjxsbD5TKG4rMSwwKTsKICAgICAgICBmb3IoaW50IGk9MTtpPD1uO2krKykgU1tpXT1TW2ktMV0rYVtpLTFdOwogICAgICAgIGludCBrPTA7CiAgICAgICAgZm9yKGludCBpPTE7aTw9biYmaTw9bnA7aSsrKXsKICAgICAgICAgICAgaWYoU1tpXT49UFtpXSkgaz1pOwogICAgICAgICAgICBlbHNlIGJyZWFrOwogICAgICAgIH0KICAgICAgICBjb3V0PDwobi1rKTw8IlxuIjsKICAgIH0KfQ==