#include <bits/stdc++.h>
using namespace std;
const int mod = 1000000007;
const long long inf = 1000000000009;
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
long long lcm(long long a, long long b) { return a * b / gcd(a, b); }
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  int n{}, x{}, ans{};
  cin >> n >> x;
  vector<int> v(n);
  for (int i = 0, sz = (int)n; i < sz; i++) cin >> v[i];
  sort((v).begin(), (v).end());
  for (int i = 0, sz = (int)n; i < sz; i++) {
    if (x >= v[i]) ans++, x -= v[i];
  }
  (x > 0) ? cout << ans - 1 << '\n' : cout << ans << '\n';
  return 0;
}
