#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
int main() {
  long long n, x, ans = 0;
  cin >> n >> x;
  vector<long long> vec(n);
  for (long long i = 0; i < (n); i++) {
    cin >> vec.at(i);
  }
  sort(vec.begin(), vec.end());
  long long i = 0;
  while (x > 0 && i < n) {
    x -= vec.at(i);
    ans++;
    i++;
    if (x < 0) {
      ans--;
    }
  }
  cout << ans << endl;
}
