"""
Системный администратор вспомнил, что давно не делал архива пользовательских файлов. Однако, объем диска, куда он может поместить архив, может быть меньше чем суммарный объем архивируемых файлов.
Известно, какой объем занимают файлы каждого пользователя.
Напишите программу, которая по заданной информации о пользователях и свободному объему на архивном диске определит максимальное число пользователей, чьи данные можно поместить в архив.

Формат ввода
Программа получает на вход в одной строке число S – размер свободного места на диске (натуральное, не превышает 10000), и число N – количество пользователей (натуральное, не превышает 100), после этого идет N чисел - объем данных каждого пользователя (натуральное, не превышает 1000), записанных каждое в отдельной строке.

Формат вывода
Выведите наибольшее количество пользователей, чьи данные могут быть помешены в архив.

Тест 1
Входные данные:
100 2
200
50
Вывод программы:
1

Тест 2
Входные данные:
100 3
50
30
50
Вывод программы:
2
"""
# 17.09.19
a = [int(i) for i in input().split()]
arr = []
for i in range(a[1]):
    arr.append(int(input()))

arr = sorted(arr)
res = 0
c = 0
for i in arr:
    if res < a[0]:
        res += i
        c += 1
if a[0] - res > 0:
    print(c)
else:
    print(c - 1)
