#include <bits/stdc++.h>
#define int long long
#define double long double
using namespace std;
const int MOD = 1000000007;
const int INF = 1e14;
using Graph = vector<vector<int>>;

signed main(){
  int N, M;
  cin >> N >> M;
  vector<int> A(N);
  for( int i = 0; i < N; i++ ) cin >> A[i];
  sort(A.begin(), A.end());

  int ans = 0;
  int now = 0;
  for( int i = 0; i < N; i++ ){
    now += A[i];
    if( now <= M ) ans++;
  }
  cout << ans << endl;
}