#include <bits/stdc++.h>
using namespace std;

//cmp函数 
bool cmp(int a,int b)
{
    if(a>b) return true;
    else return false;
}
int main()
{
    int m,n;
    int a[105];
    cin >> m >> n;
    //读入n个师傅的能力值
    for(int i = 1;i <=n;i++)
    {
        cin >> a[i];
    }
    //对n个师傅能力排序(从大到小)
    sort(a+1,a+n+1,cmp);  //a[1] ~ a[n]

    //能力求和
    int s = 0;
    for(int i = 1;i<=n;i++)
    {
        s+=a[i];
        if(s>=m)
        {
            cout << i ;
            break;
        }
    }
    if(s < m)
    {
        cout << "NO";
    }

    return 0;
}
/**************************************************************
	Problem: 1326
	User: mariooo
	Language: C++
	Result: Accepted
	Time:15 ms
	Memory:2076 kb
****************************************************************/