#include <bits/stdc++.h>
using namespace std;
template <class T = int>
T in() {
  T x;
  cin >> x;
  return (x);
}
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
int main() {
  int n = in();
  long long x = in<long long>();
  vector<long long> a(n);
  for (int i = 0, i_len = (n); i < i_len; ++i) {
    a[i] = in<long long>();
  }
  sort((a).begin(), (a).end());
  int ans = 0;
  for (int i = 0, i_len = (n); i < i_len; ++i) {
    if (x >= a[i]) {
      x -= a[i];
      ans++;
    }
    if (i == n - 1 && x != 0 && ans > 0) {
      ans--;
    }
  }
  cout << ans << endl;
  return 0;
}
