#include <stdio.h>
#include <stdlib.h>

// 比較関数 (qsort 用)
int compare(const void *a, const void *b) {
    return (*(int *)a - *(int *)b);
}

int main() {
    int L, N;
    
    // L と N の入力
    scanf("%d", &L);
    scanf("%d", &N);
    
    int W[N];
    
    // 各ブロックの長さを入力
    for (int i = 0; i < N; i++) {
        scanf("%d", &W[i]);
    }
    
    // ブロックの長さを昇順にソート
    qsort(W, N, sizeof(int), compare);
    
    int cnt = 0;
    
    // ブロックを詰め込む
    for (int i = 0; i < N; i++) {
        if (L >= W[i]) {
            L -= W[i];
            cnt++;
        } else {
            break;
        }
    }
    
    // 結果を出力
    printf("%d\n", cnt);

    return 0;
}