#include <bits/stdc++.h>
using namespace std;
long long int c[300005];
int n;
int findpath(int i, int j) {
  if (i <= n && j >= 1) {
    if (c[i] != c[j])
      return j - i;
    else
      return max(findpath(i + 1, j), findpath(i, j - 1));
  }
}
int main() {
  int n;
  long long int h;
  cin >> n >> h;
  long long int a[n + 5], i, j;
  for (i = 1; i <= n; i++) {
    cin >> a[i];
    sort(a + 1, a + i + 1);
    int total = 0;
    for (j = i; j >= 1; j -= 2) {
      total += a[j];
    }
    if (total > h) break;
  }
  cout << i - 1 << endl;
}
