#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef vector<int> VI;
typedef vector<VI> VVI;
#define REP(i, n)           for(int(i)=0;(i)<(n);++(i))
#define FOR(i, f, t)        for(int(i)=(f);(i)<(t);(++i))
#define RREP(i, n)          for(int(i)=(n)-1;(i)>=0;--(i))
const int MOD = int(1e9+7);

int N,M,W,H;
int res = 0;
int c[111111];

int main(){
    do { cin.tie(0); ios_base::sync_with_stdio(false); } while(0);
    cin >> N >> M;
    REP(i,N)cin>>c[i];

    sort(c,c+N);

    REP(i,N){
        if(M < c[i]){
            break;
        } else {
            M -= c[i];res++;
        }
    }

    cout << res << endl;
    return 0;
}