#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i, n) for (int i = 0; i < n; i++) #define rep1(i, n) for (int i = 1; i < n + 1; i++) #define all(A) A.begin(), A.end() #define itr(A, l, r) A.begin() + l, A.begin() + r #define debug(var) cout << #var << " = " << var << endl; typedef long long ll; template void print_vector(vector v) { for (T i : v) { cout << i << ','; } cout << endl; return; } int main(void) { int L; cin >> L; int n; cin >> n; vector w(n), s(n + 1); rep(i, n) { cin >> w[i]; } sort(all(w)); rep(i, n) { s[i + 1] = s[i] + w[i]; } // print_vector(s); auto lim_where = upper_bound(all(s), L); lim_where--; cout << lim_where - s.begin() << endl; }