#include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair pii; typedef pair pll; typedef pair pss; typedef vector vi; typedef vector vvi; typedef vector vii; typedef vector vl; typedef vector vvl; typedef vector vll; #define sz(x) (int)(x).size() #define len(x) (int)(x).length() #define rep(i, n) for (int i = 0; i < n; ++i) #define leer(x, n) \ for (int k = 0; k < n; k++) \ cin >> x[k] #define pb push_back #define trav(a, x) for (auto &a : x) #define all(x) x.begin(), x.end() template bool ckmax(T &a, const T &b) { return a < b ? a = b, 1 : 0; } const int M = 1000000007; struct UnionFind { vi e; UnionFind(int n) : e(n, -1) {} bool same(int a, int b) { return find(a) == find(b); } int size(int x) { return -e[find(x)]; } int find(int x) { return e[x] < 0 ? x : e[x] = find(e[x]); } bool join(int a, int b) { a = find(a), b = find(b); if (a == b) return false; if (e[a] > e[b]) swap(a, b); e[a] += e[b]; e[b] = a; return true; } }; bool pairSort(pair a, pair b) { if (a.first < b.first) return true; if (b.first < a.first) return false; return b.second < a.second; } struct reverseSort { bool operator()(int a, int b) { return a > b; } }; ll binpow(ll a, ll b, ll m) { a %= m; ll res = 1; while (b > 0) { if (b & 1) res = res * a % m; a = a * a % m; b >>= 1; } return res; } string canonical_form(const string &S) { string T; for (auto &c : S) { T.push_back(c); if ((int)T.size() >= 4 and T.substr(T.size() - 4, 4) == "(xx)") { T.erase(end(T) - 4, end(T)); T += "xx"; } } return T; } void imprimir(queue q) { while (!q.empty()) { cout << q.front() << ' '; q.pop(); } } int n, m, x, y, i, j, k; const int inf = 1 << 30; int isok(ll x, ll k, vl a) { ll nk = 0; for (int i = 1; i < a.size(); i++) { if (a[i] < x) { nk += (x - a[i] + i - 1) / i; if (nk > k) return 0; } } return 1; } void solve() { int l, n; cin >> l >> n; int ans = 0; vi w(n); rep(i, n) cin >> w[i]; sort(w.begin(), w.end()); int i = 0; int sum = 0; while (i < n) { if (sum + w[i] > l) break; ans++; sum += w[i]; i++; } cout << ans << '\n'; } int t; int main() { ios_base::sync_with_stdio(0); cin.tie(0); // cin >> t; t = 1; while (t--) solve(); return 0; } /* * ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ * ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ * ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣬⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ * ⠀⠀⠀⠀⠀⠀⢠⣶⠟⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀ * ⠀⠀⠀⠀⠀⢠⣿⠏⣼⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀ * ⠀⠀⠀⠀⠀⣾⣿⡆⣿⣿⡃⣿⣧⣝⢿⡻⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀ * ⠀⠀⠀⠀⢸⣿⣿⣿⢸⣿⣴⣾⣿⣿⣯⣳⣜⢿⣿⣿⣿⣿⡇⠀⠀⠀ * ⠀⠀⠀⠀⡌⣿⣿⣿⡈⣿⢀⣤⣤⣭⡉⠙⢿⡏⣿⣿⣿⣿⡇⠀⠀⠀ * ⠀⠀⠀⢀⢸⡟⣿⣿⢷⡌⢸⣿⣿⣿⣿⣷⡜⢷⣿⣿⣿⣿⡇⠀⠀⠀ * ⠀⠀⠀⠸⢘⡀⢻⣿⣦⡀⣙⡛⠛⠛⠿⠿⠿⢸⣿⣿⣿⣿⠃⠀⠀⠀ * ⠀⠀⠀⠀⢰⠀⢠⣍⠙⠻⣿⣿⣿⣷⣶⣦⠀⣾⣿⣿⣿⠃⠀⠀⠀⠀ * ⠀⠀⠀⠀⠈⢦⣾⢹⣿⣦⢘⣋⡁⠀⠀⢙⠃⣿⣿⠟⠁⠀⠀⠀⠀⠀ * ⠀⠀⠀⠀⠀⠈⢻⣾⣿⡏⠸⣿⡿⠿⠿⠟⢀⣡⣄⠀⠀⠀⠀⠀⠀⠀ * ⠀⠀⠀⠀⠀⠀⠈⣾⠟⠀⠀⠠⢤⣼⣿⣆⢻⣿⣿⣷⡀⠀⠀⠀⠀⠀ * ⠀⠀⠀⠀⠀⠀⠘⠁⣊⣐⡀⣴⣶⡼⠟⣡⣾⣿⣿⣿⣷⡀⠀⠀⠀⠀ * ⠀⠀⠀⠀⡀⠀⢀⣴⣿⣿⣿⠿⠋⠀⠘⣻⣿⡿⢻⣿⣿⣿⢆⠀⠀⠀ * ⠀⠀⠀⣠⡅⠐⢿⣙⠾⠿⠁⣰⣶⡾⢘⣋⣩⣾⡆⣿⣿⣿⣿⡆⠀⠀ * ⠀⠀⠀⣿⡇⠀⠀⠙⠷⢷⣶⣭⣍⡁⣾⣿⣿⣿⡗⣿⣿⣿⣿⠇⠀⠀ * ⠀⠀⠀⢿⡇⠀⠀⠀⠀⠀⣿⣶⣶⡄⢿⡛⠛⠛⠛⣸⠿⢏⠉⠀⠀⠀ * ⠀⠀⠀⠀⠃⠀⠀⠀⠀⠀⠙⠛⠛⠁⠀⠈⠁⠀⠁⠀⠀⠀⠀⠀⠀⠀ */