#include<bits/stdc++.h>
using namespace std;

int main(){

  int N, flag=0;
  long x;
  cin >> N >> x;

  vector<long> vec(N);
  for (int i=0; i<N; i++){
    cin >> vec.at(i);
  }

  sort(vec.begin(),vec.end());

  for (int i=0; i<N; i++){
    x -= vec.at(i);
    if (x<0){
      ++flag;
    }
  }

  if(flag>0){
    cout << N-flag << endl;
  }
  if else (flag==0){
    cout << N << endl;
  }
  else {
    cout << N-1 << endl;
  }
}
