#include "biscuits.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define DEBUG 0
int binarysearch(ll x, vector<ll>& arr){
int l = -1;
int r = arr.size();
// cout << "startb" << endl;
while(l+1 < r){
int mid = (l+r)/2;
if(arr[mid] <= x) l = mid;
else r = mid;
}
// cout << "endb" << endl;
// cout << l << endl;
return l;
}
long long count_tastiness(long long x, std::vector<long long> a) {
vector<ll> answers = {0};
ll tot = 0;
int bi = 0;
while(true){
if((x<<bi) > 1e18) break;
if(bi < a.size()) tot += a[bi] << bi;
ll needed = x<<bi;
//cout << bi << " " << tot << " " << needed << endl;
int biggie = -1;
while(biggie + 1 != answers.size()){
if(answers[biggie +1] + needed <= tot) biggie++;
else break;
}
// int biggie = binarysearch(tot - needed,answers);
for(int i = 0; i <= biggie; i++){
answers.push_back(answers[i] + needed);
}
bi++;
}
#if DEBUG
for(auto x : answers){
cout << x << " ";
}
cout << endl;
#endif
return answers.size();
}
#if DEBUG
signed main(){
int q;
cin >> q;
for(int i = 0; i< q; i++){
int n,x;
cin >> n >> x;
vector<int> a(n);
for(auto& x : a) cin >> x;
int ans = count_tastiness(x,a);
cout << ans << endl;
}
}
#endif