#include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef vector VI; typedef vector 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; }