// ライブラリ
#include<stdio.h>

// ここにプログラムが入る
int main() {

	// ブロックの数
	int blockNum;
	// 箱の大きさ
	int hako;
	// 配列
	int block[10000];
	// 答え
	int ans;
    
    block[1];

	// 値を入力
	scanf("%d", &hako);
	scanf("%d", &blockNum);

    char str;
    for (int i = 0; i < blockNum; i++) {
        block[i] = 0;
    }
    for (int i = 0; i < blockNum; i++) {
        for (int j = 0;; j++) {
            str = getchar();
            if (str == '\n' && i == 0) {
                i = -1;
                break;
            }
            else if (str == '\n' && i != 0) {
                i = blockNum;
                break;
            }
            else if (str < '0' || str > '9') {
                break;
            }
            else
                block[i] = block[i] * 10 + (int)str - (int)'0';
        }
    }

    int basho;

    // 小さい順に並べる
    for (int i = 0; i < blockNum - 1; i++) {
        for (int j = 0; j < blockNum - 1; j++) {
            if (block[j] > block[j + 1]) {
                basho = block[j];
                block[j] = block[j + 1];
                block[j + 1] = basho;
            }
        }
    }

    // 残りどれくらいあるか?
    int nokori = hako;

    for (ans = 0;ans < blockNum && nokori >= block[ans]; ans++) {
        nokori -= block[ans];
    }

	printf("%d\n", ans);


	// 何もなかったよ(問題0だったよ)
	return 0;
}