#include using namespace std; using ll = long long; using ld = long double; #define rep(i, h) for(int i = 0; i < (h); ++i) #define reps(i, s, h) for(int i = (s); i < (h); ++i) #define rrep(i, s, h) for(int i = (s); i >= (h); --i) #define vi vector #define vl vector #define pl pair #define all(v) (v).begin(), (v).end() template void chmin(T &v, T b) { if(v > b) v = b; } template void chmax(T &v, T b) { if(v < b) v = b; } const ll inf = LONG_LONG_MAX / 2; const int mod = 1e9 + 7; const int MAX = 1e6 + 5; int main() { ll n, l; cin >> l >> n; vl a(n); rep(i, n) cin >> a[i]; sort(all(a)); ll ans = 0; rep(i, n) { if(l >= a[i]) { l -= a[i]; ans++; } } cout << ans << endl; return 0; }