#include "biscuits.h"
using namespace std;
typedef long long ll;
typedef vector<ll> vll;
ll ans = 0;
vll A;
void backtrack(int ind, ll x, vll &a) {
if (ind == a.size()-1 && a[ind] < x) return;
if (a[ind] >= x) {
++ans;
// i must be x
ll ad = (a[ind]-x)/2;
if (a.size() == ind+1) a.push_back(0);
a[ind+1] += ad;
backtrack(ind+1, x, a);
a[ind+1] -= ad;
if (a.size() == ind+2 && !a[ind+1]) a.pop_back();
}
if (a.size() == ind+1) a.push_back(0);
a[ind+1] += a[ind]/2;
backtrack(ind+1, x, a);
a[ind+1] -= a[ind]/2;
if (a.size() == ind+2 && !a[ind+1]) a.pop_back();
}
ll count_tastiness(ll x, vll a) {
while (!a.back()) a.pop_back();
if (a.empty()) return 1;
ans = 0;
backtrack(0, x, a);
return ans + 1;
}