#include<bits/stdc++.h>
#include <queue>
using namespace std;

int main() {
    int n, k;
    cin>>n>>k;
    priority_queue<int, vector<int>, greater<>> pq;
    for (int i = 0; i < n; i++) {
        int tmp;
        cin>>tmp;
        pq.emplace(tmp);
    }
    int res = 0;
    int unpleasent = 0;
    while (!pq.empty() && unpleasent + pq.top() <= k) {
        int out = pq.top();
        pq.pop();
        // cout << out << endl;
        unpleasent += out;
        res++;
        pq.emplace(2 * out);
    }
    cout << res  << '\n';

}
// 64 位输出请用 printf("%lld")