#include <bits/stdc++.h>
using namespace std;
int dx[] = {1, -1, 0, 0};
int dy[] = {0, 0, 1, -1};
int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
int n, m, x, y, z, add, ans, A[1010101], B[1010101];
int main() {
  cin >> n >> m;
  for (int i = 0; i < n; i++) cin >> A[i];
  sort(A, A + n);
  for (int i = 0; i < n; i++) {
    if (m >= A[i]) {
      if (i != n - 1) {
        ans++;
        m -= A[i];
      }
    }
  }
  cout << ans << endl;
  return 0;
}
