#include <bits/stdc++.h>
using namespace std;
#define fast_io ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define int long long
#define endl '\n'
const int N = 35;
const int INF = 1e18;
void solve() {
int n, c;
cin >> n >> c;
int a[N];
for (int i = 0; i < n; ++i) cin >> a[i];
priority_queue<pair<int, int>> pq; // {weight, index}
int steps[N] = {0}; // How many times each has been doubled
for (int i = 0; i < n; ++i) {
pq.push({a[i], i});
}
int coins = 0;
while (!pq.empty()) {
auto [w, idx] = pq.top();
pq.pop();
// Recalculate actual weight after all doublings
w = a[idx] << steps[idx];
if (w > c) coins++;
// Increase step count for remaining
for (int i = 0; i < n; ++i) {
if (steps[i] >= 60) continue; // prevent overflow
if (i != idx) steps[i]++;
}
}
cout << coins << endl;
}
int32_t main() {
fast_io;
int t;
cin >> t;
while (t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGZhc3RfaW8gaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApCiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGVuZGwgJ1xuJwoKY29uc3QgaW50IE4gPSAzNTsKY29uc3QgaW50IElORiA9IDFlMTg7Cgp2b2lkIHNvbHZlKCkgewogICAgaW50IG4sIGM7CiAgICBjaW4gPj4gbiA+PiBjOwogICAgaW50IGFbTl07CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgY2luID4+IGFbaV07CgogICAgcHJpb3JpdHlfcXVldWU8cGFpcjxpbnQsIGludD4+IHBxOyAvLyB7d2VpZ2h0LCBpbmRleH0KICAgIGludCBzdGVwc1tOXSA9IHswfTsgLy8gSG93IG1hbnkgdGltZXMgZWFjaCBoYXMgYmVlbiBkb3VibGVkCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgewogICAgICAgIHBxLnB1c2goe2FbaV0sIGl9KTsKICAgIH0KCiAgICBpbnQgY29pbnMgPSAwOwogICAgd2hpbGUgKCFwcS5lbXB0eSgpKSB7CiAgICAgICAgYXV0byBbdywgaWR4XSA9IHBxLnRvcCgpOwogICAgICAgIHBxLnBvcCgpOwoKICAgICAgICAvLyBSZWNhbGN1bGF0ZSBhY3R1YWwgd2VpZ2h0IGFmdGVyIGFsbCBkb3VibGluZ3MKICAgICAgICB3ID0gYVtpZHhdIDw8IHN0ZXBzW2lkeF07CiAgICAgICAgaWYgKHcgPiBjKSBjb2lucysrOwoKICAgICAgICAvLyBJbmNyZWFzZSBzdGVwIGNvdW50IGZvciByZW1haW5pbmcKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgewogICAgICAgICAgICBpZiAoc3RlcHNbaV0gPj0gNjApIGNvbnRpbnVlOyAvLyBwcmV2ZW50IG92ZXJmbG93CiAgICAgICAgICAgIGlmIChpICE9IGlkeCkgc3RlcHNbaV0rKzsKICAgICAgICB9CiAgICB9CgogICAgY291dCA8PCBjb2lucyA8PCBlbmRsOwp9CgppbnQzMl90IG1haW4oKSB7CiAgICBmYXN0X2lvOwogICAgaW50IHQ7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQogICAgcmV0dXJuIDA7Cn0K
NAo1IDEwCjEwIDQgMTUgMSA4CjMgNDIKMTAwMDAwMDAwMCAxMDAwMDAwMDAwIDEwMDAwMDAwMDAKMTAgMzAKMjkgMjUgMiAxMiAxNSA0MiAxNCA2IDE2IDkKMTAgMTAwMDAwMAoxIDEgMSAxIDEgMSAxIDEgMSA4NjQwMjY2MzM=
4
5 10
10 4 15 1 8
3 42
1000000000 1000000000 1000000000
10 30
29 25 2 12 15 42 14 6 16 9
10 1000000
1 1 1 1 1 1 1 1 1 864026633