#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define FOR(x,a,b) for(int x=a;x()) #define REV(x) reverse(x.begin(),x.end()) #define REP(x,a) FOR(x,0,a) using namespace std; typedef long long ll; inline int toInt(std::string s) {int v; std::istringstream sin(s);sin>>v;return v;} template inline std::string toString(T x) {std::ostringstream sout;sout< W; cin >> L >> N; W.assign(N, 0); REP(i,N) cin >> W[i]; SORT(W); FORSIZE(i,W) { if(tmp+W[i]<=L) { tmp += W[i]; res += 1; } else { break; } } cout << res << endl; return 0; }