#include "biscuits.h"
#include <bits/stdc++.h>
using namespace std;
#define int long long
int binarysearch(int x, vector<int>& arr){
int l = -1;
int r = arr.size();
while(l+1 < r){
int mid = (l+r)/2;
if(arr[mid] <= x) l = mid;
else r = mid;
}
return l;
}
long long count_tastiness(long long x, std::vector<long long> a) {
vector<int> answers = {0};
int tot = 0;
for(int bi = 0; bi <= 61; bi++){
if(bi < a.size()) tot += a[bi] << bi;
int needed = x*(1<<bi);
int biggie = binarysearch(tot - needed,answers);
for(int i = 0; i <= biggie; i++){
answers.push_back(answers[i] + needed);
}
}
return answers.size()-1;
}