#include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; #define FOR(i, a, b) for (int i=a; i<(b); i++) #define range(a) a.begin(), a.end() #define endl "\n" #define Yes() cout << "Yes" << endl #define No() cout << "No" << endl #define MP make_pair const unsigned long long mod = 1e9 + 7; const long long INF = 1LL<<60; const int dx[4]={1,0,-1,0}; const int dy[4]={0,1,0,-1}; void chmin(long long &a, long long b) { if (a > b) a = b; } void chmax(long long &a, long long b) { if (a < b) a = b; } int main(void){ ios::sync_with_stdio(0); cin.tie(0); int L, N; cin >> L >> N; vector data(N); FOR(i,0,N){ cin >> data.at(i); } sort(range(data)); int sum = 0; FOR(i,0,N){ sum += data.at(i); if(sum>L){ cout << i << endl; return 0; } } cout << N << endl; return 0; }