#include <bits/stdc++.h>
using namespace std;
int arr[1005], subarr[1005];
int ans = 0, H;
bool cmp(int a, int b) { return a > b; }
void check(int l, int r) {
  if (l > r) return;
  int mid = (l + r) >> 1;
  for (int i = 0; i < mid; i++) subarr[i] = arr[i];
  sort(subarr, subarr + mid, cmp);
  int h = H;
  for (int i = 0; i < mid; i += 2) {
    h -= subarr[i];
    if (h < 0) {
      check(l, mid - 1);
      return;
    }
  }
  ans = max(ans, mid);
  check(mid + 1, r);
}
int main() {
  int n;
  cin >> n >> H;
  for (int i = 0; i < n; i++) cin >> arr[i];
  check(0, n);
  cout << ans << endl;
  return 0;
}
