#include <bits/stdc++.h>
using namespace std;
int findsumofDigits(int n) {
  int sum = 0;
  while (n > 0) {
    sum += n % 10;
    n /= 10;
  }
  return sum;
}
int main() {
  int n, x, y, ans;
  cin >> n >> x;
  ans = 0;
  y = 0;
  std::vector<int> vec(n);
  for (int i = 0; i < n; i++) {
    cin >> vec[i];
    y += vec[i];
  }
  sort(vec.begin(), vec.end());
  if (y < x)
    ans = vec.size() - 1;
  else if (y == x)
    ans = vec.size();
  else {
    for (int i = 0; 0 < x; i++) {
      x -= vec[i];
      ans++;
      if (x == 0) ans++;
    }
    ans -= 1;
  }
  cout << ans << endl;
}
