#include <bits/stdc++.h>
using namespace std;
const long long int MaxN = 300005;
const long long int mod = 1e9 + 7;
const float pi = 3.1415926535897932384626433832795028;
long long int mcd(long long int a, long long int b) {
  if (a == 0) return b;
  return mcd(b % a, a);
}
int arr[MaxN];
void solve() {
  long long int N, x, i, j, p, q, res = 0, tot = 0, aux;
  cin >> N >> x;
  aux = x;
  for (i = 0; i < N; i++) {
    cin >> arr[i];
  }
  sort(arr, arr + N);
  for (i = 0; i < N; i++) {
    if (x >= arr[i]) x -= arr[i], res += 1, tot += arr[i];
  }
  if (aux > tot) res -= 1;
  cout << res;
}
int main() {
  long long int i, t;
  t = 1;
  for (i = 1; i <= t; i++) {
    solve();
  }
}
