#include #define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define endl "\n" #define rep(i, n) for(int i = 0; i < (int)(n); i++) #define rrep(i, n) for(int i = ((int)(n)-1); i >= 0; i--) #define all(x) (x).begin(),(x).end() using namespace std; using ll = long long; typedef vector vi; typedef vector vvi; typedef pair P; const int INF = 1e9; //const ll INF = 1e18; const double EPS = 1e-10; const int MOD = 1e9+7; const double PI = acos(-1.0); int main() { int n,m; cin >> n >> m; vi c(n); rep(i,n) cin >> c[i]; sort(all(c)); for(int i = 0; i < c.size(); i++){ m -= c[i]; if(m <= 0){ cout << (m == 0 ? i+1 : i) << endl; return 0; } } return 0; }