#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,k,cnt=0,tnt=0;
    cin>>n>>k;
    int a[105];
    for(int i=0;i<k;i++){
        cin>>a[i];
    }
    for(int i=1;i<=k-1;i++){
        for(int j=0;j<=k-1-i;j++){
            if(a[j+1]>a[j]){
                swap(a[j+1],a[j]);
            }
        }
    }
    for(int i=0;i<k;i++){
        if(cnt<n){
            cnt+=a[i];
            tnt+=1;
        }
        else if(cnt>=n){
            break;
        }
    }
    if(cnt<n)
    {
        cout<<"NO";
    }
    else{
        cout<<tnt;
    }
    return 0;
}
/**************************************************************
	Problem: 1326
	User: luyanchen
	Language: C++
	Result: Accepted
	Time:10 ms
	Memory:2072 kb
****************************************************************/