#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
long long int t,sum,newsum,cnt,index=0,n,cost,i,diff,tsum,fnd,flag=1,min=0,cnt1=0;
cin>>t;
while(t--)
{
cnt=0;
cnt1=0;
tsum=0;
flag=1;
cin>>n;
cin>>sum;
sum=sum*60;
newsum=sum;
vector<unsigned long long int> a(n);
cost=0;
for(i=0;i<n;i++)
cin>>a[i];
sort(a.begin(),a.end());
for(i=0;i<n;i++)
tsum=tsum+a[i];
if(tsum < sum)
cout<<tsum<<endl;
else{
for(i=(n-1);i>=0;i--)
{
if(newsum >= a[i])
{
if(flag!=0)
{cost=cost+a[i];
cnt1++;
}
newsum=(newsum-a[i]);
a[i]=-1;
cnt++;
}
else
flag=0;
if(newsum==0)
break;
}
if(newsum!=0)
{
cnt1++;
min=a[n-1];
for(i=n-1;i>=0;i--)
{
if((a[i]!=-1) && (a[i]<=min) && (a[i]>=(sum-cost)))
{
min=a[i];
}
}
diff=(min+cost)-(sum);
cout<<cnt1<<" "<<diff<<endl;
}
else
{
cout<<cnt<<endl;
}
}
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHZlY3Rvcj4KI2luY2x1ZGU8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbWFpbigpCnsKCWxvbmcgbG9uZyBpbnQgdCxzdW0sbmV3c3VtLGNudCxpbmRleD0wLG4sY29zdCxpLGRpZmYsdHN1bSxmbmQsZmxhZz0xLG1pbj0wLGNudDE9MDsKCWNpbj4+dDsKCXdoaWxlKHQtLSkKCXsKCQljbnQ9MDsKCQljbnQxPTA7CgkJdHN1bT0wOwoJCWZsYWc9MTsKCQljaW4+Pm47CgkJY2luPj5zdW07CgkJc3VtPXN1bSo2MDsKCQluZXdzdW09c3VtOwoJCXZlY3Rvcjx1bnNpZ25lZCBsb25nIGxvbmcgaW50PiBhKG4pOwoJCWNvc3Q9MDsKCQlmb3IoaT0wO2k8bjtpKyspCgkJCWNpbj4+YVtpXTsKICAgICAgICBzb3J0KGEuYmVnaW4oKSxhLmVuZCgpKTsKICAgICAgICBmb3IoaT0wO2k8bjtpKyspCiAgICAgICAgICAgIHRzdW09dHN1bSthW2ldOwogICAgICAgIGlmKHRzdW0gPCBzdW0pCiAgICAgICAgICAgIGNvdXQ8PHRzdW08PGVuZGw7CiAgICAgICAgZWxzZXsKCQogICAgICAgIGZvcihpPShuLTEpO2k+PTA7aS0tKQogICAgICAgIHsKCiAgICAgICAgICAgIGlmKG5ld3N1bSA+PSBhW2ldKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihmbGFnIT0wKQogICAgICAgICAgICAgICAge2Nvc3Q9Y29zdCthW2ldOwogICAgICAgICAgICAgICAgCWNudDErKzsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBuZXdzdW09KG5ld3N1bS1hW2ldKTsKICAgICAgICAgICAgICAgICAgYVtpXT0tMTsKICAgICAgICAgICAgICAgIGNudCsrOyAgCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAJZmxhZz0wOwogICAgICAgICAgICBpZihuZXdzdW09PTApCiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgaWYobmV3c3VtIT0wKQogICAgICAgIHsKICAgICAgICAgICAgY250MSsrOwogICAgICAgICAgICBtaW49YVtuLTFdOwogICAgICAgICAgICBmb3IoaT1uLTE7aT49MDtpLS0pCiAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICBpZigoYVtpXSE9LTEpICYmIChhW2ldPD1taW4pICYmIChhW2ldPj0oc3VtLWNvc3QpKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBtaW49YVtpXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBkaWZmPShtaW4rY29zdCktKHN1bSk7CiAgICAgICAgICAgIGNvdXQ8PGNudDE8PCIgIjw8ZGlmZjw8ZW5kbDsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgY291dDw8Y250PDxlbmRsOwogICAgICAgIH0KICAgICAgICB9CgoKCX0KCgoJcmV0dXJuIDA7Cn0=