#include <bits/stdc++.h>
const long long LINF = 1e18;
const int INF = 1e8;
using namespace std;
int main(void) {
  int n;
  long long x;
  int ans = 0;
  cin >> n >> x;
  vector<long long> ame(n);
  for (int i = 0; i < (n); i++) {
    cin >> ame[i];
  }
  sort(ame.begin(), ame.end());
  int i = 0;
  while (i < n) {
    if (ame[i] <= x) {
      x -= ame[i];
      ans++;
    } else
      break;
    i++;
  }
  if (x > 0 && ans > 0) ans--;
  cout << ans << endl;
}
