#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define INF 1000000000 #define rep(i,a,b) for (int i=(a);i<(b);i++) #define rev(i,a,b) for (int i=(a)-1;i>=b;i--) using namespace std; typedef long long ll; typedef pair pii; typedef queue qi; typedef vector vi; typedef vector vs; int dx[4] = { 0, 1, 0, -1 }; int dy[4] = { 1, 0, -1, 0 }; int main() { cin.tie(0); ios::sync_with_stdio(false); int n,m; cin >> n >> m; vi c(n); rep(i,0,n) cin >> c[i]; sort(c.begin(), c.end()); ll ans = 0, sum = 0; rep(i,0,n) { if(sum + c[i] <= m) { sum += c[i]; ans++; } else break; } cout << ans << endl; return 0; }