#include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; namespace cpio{ //IO library for Competitive-Programming struct scanner { private: struct reader { template operator T() const {T buf; std::cin >> buf; return buf;} }; public: scanner() {std::cin.sync_with_stdio(false); std::cin.tie(nullptr);} reader operator()() const {return reader();} }; void yes(){ cout << "Yes\n"; } void no(){ cout << "No\n"; } } namespace cpmath{ //Math library for Competitive-Programming ll factorial(ll a, ll b = -1, const ll fmod = -1){ ll ans = 1; if (fmod > 1) { if (b == -1) for (ll i = a; i > 1; i--) ans = ((ans%fmod)*(i%fmod))%fmod; else for (ll i = a; i >= b; i--) ans = ((ans%fmod)*(i%fmod))%fmod; } else{ if (b == -1) for (ll i = a; i > 1; i--) ans = ans*i; else for(ll i = a; i >= b; i--) ans = ans*i; } return ans; } ll fastpow(ll m, ll p){ if (p == 0) return 1; if (p%2 == 0){ ll t = fastpow(m, p/2); return t*t; } return m*fastpow(m, p-1); } ll modpow(ll m, ll p, const ll fmod){ if (p == 0) return 1; if (p%2 == 0){ ll t = modpow(m, p/2, fmod); return (t*t)%fmod; } return (m*modpow(m, p-1, fmod))%fmod; } const ll mod97 = 1000000007; const ll mod99 = 1000000009; const ll mod89 = 998244353; } cpio::scanner in; //Declaration of inputclass using cpio::yes; using cpio::no; using cpmath::mod89; using cpmath::mod97; using cpmath::mod99; int main(){ int l = in(); int n = in(); vector w(n); for (auto &x:w) cin >> x; sort(w.begin(), w.end()); ll boxsum = 0; for (int i = 0; i < n; i++){ boxsum += w[i]; if (boxsum > l){ cout << i << endl; return 0; } else if (boxsum == l){ cout << i+1 << endl; return 0; } } cout << n << endl; }