#include<bits/stdc++.h>
#define mod 1000000007
#define pb push_back
#define pop pop_back
#define test unsigned long long int test; cin >> test; while(test--)
#define show(x) cout<<(#x)<<"is"<<(x)<<"\n";
typedef unsigned long long int ull;
typedef long long int ll;
using namespace std;
int main(int argc, char const *argv[])
{
ios_base :: sync_with_stdio(false);
cin.tie(NULL);
test
{
ll n, z;
cin >> n >> z;
set<pair<int,int>> s;
for (int i = 0; i < n; ++i)
{
ll k;
cin >> k;
s.insert(make_pair(k,i));
}
ll count=0,i=n;
while (z>0)
{
auto it = --s.end();
z = z - it->first;
ll y = it->first;
s.erase(it);
y = y/2;
s.insert(make_pair(y,i));
count+=1;
i+=1;
}
cout << count << endl;
}
return 0;
}
CgkjaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgoJI2RlZmluZSBtb2QgMTAwMDAwMDAwNwoJI2RlZmluZSBwYiBwdXNoX2JhY2sKCSNkZWZpbmUgcG9wIHBvcF9iYWNrCgkjZGVmaW5lIHRlc3QgdW5zaWduZWQgbG9uZyBsb25nIGludCB0ZXN0OyBjaW4gPj4gdGVzdDsgd2hpbGUodGVzdC0tKQoJI2RlZmluZSBzaG93KHgpIGNvdXQ8PCgjeCk8PCJpcyI8PCh4KTw8IlxuIjsKCXR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIGludCB1bGw7Cgl0eXBlZGVmIGxvbmcgbG9uZyBpbnQgbGw7Cgl1c2luZyBuYW1lc3BhY2Ugc3RkOwoJaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgY29uc3QgKmFyZ3ZbXSkKCXsKICAgIAlpb3NfYmFzZSA6OiBzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgCWNpbi50aWUoTlVMTCk7CiAgICAJdGVzdAogICAgCXsKICAgIAkJbGwgbiwgejsKICAgIAkJY2luID4+IG4gPj4gejsKICAgIAkJc2V0PHBhaXI8aW50LGludD4+IHM7CiAgICAJCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKQogICAgCQl7CiAgICAJCQlsbCBrOwogICAgCQkJY2luID4+IGs7CiAgICAJCQlzLmluc2VydChtYWtlX3BhaXIoayxpKSk7CiAgICAJCX0KICAgIAkJbGwgY291bnQ9MCxpPW47CiAgICAJCXdoaWxlICh6PjApCiAgICAJCXsKICAgIAkJCWF1dG8gaXQgPSAtLXMuZW5kKCk7CiAgICAJCQl6ID0geiAtIGl0LT5maXJzdDsKICAgIAkJCWxsIHkgPSBpdC0+Zmlyc3Q7CiAgICAJCQlzLmVyYXNlKGl0KTsKICAgIAkJCXkgPSB5LzI7CiAgICAJCQlzLmluc2VydChtYWtlX3BhaXIoeSxpKSk7CiAgICAJCQljb3VudCs9MTsKICAgIAkJCWkrPTE7CiAgICAJCX0KICAgIAkJY291dCA8PCBjb3VudCA8PCBlbmRsOwogICAgCX0KICAgIAlyZXR1cm4gMDsKCX0=