#include #include #include #define REP(i, n) for(int i = 0; i < (int)(n); i++) #define FOR(i, j, k) for(int i = (int)(j); i < (int)(k); ++i) #define ROF(i, j, k) for(int i = (int)(j); i >= (int)(k); --i) #define SORT(v, n) sort(v, v+n) #define REVERSE(v) reverse((v).begin(), (v).end()) #define print(x) cout << x << endl; using namespace std; const int MOD = (int)1e9 + 7; int main(void){ cin.tie(0); ios::sync_with_stdio(false); int L, N; cin >> L >> N; vector W(N); REP(i,N) cin >> W[i]; sort(W.begin(), W.end()); int ans = 0; int l = 0; REP(i, N){ l += W[i]; if(l > L){ break; } else{ans += 1;} } print(ans) return 0; }