#include <bits/stdc++.h>
using namespace std;
int func(int N) {
  if (N < 10) return N;
  return func(N / 10) + N % 10;
}
int main() {
  int N, L;
  cin >> N >> L;
  vector<int> S(N + 1), T(N + 1, 0);
  for (int i = 0; i < (N); i++) cin >> S[i];
  sort(S.begin(), S.begin() + N);
  for (int i = 0; i < (N); i++) T[i + 1] += S[i] + T[i];
  int ans = 0, cnt = 0;
  for (int i = 0; i < (N); i++) {
    cnt += S[i];
  }
  if (cnt == L)
    ans = N;
  else if (cnt < L)
    ans = N - 1;
  else {
    for (int i = 0; i < (N + 1); i++) {
      if (T[i] > L) {
        ans = i - 1;
        break;
      }
    }
  }
  cout << ans << endl;
  return 0;
}
