#include<bits/stdc++.h>
using namespace std;
bool cmp(int x,int y){
	 if(x>y) return true;
	 else return false;
}
int main(){
    int m,n,a[200],s=0,c=0;
	bool f=false;      
    cin>>m>>n;
    for(int i=1;i<=n;i++){
    	cin>>a[i];
    }
    sort(a+1,a+1+n,cmp);
    for(int i=1;i<=n;i++){
       s=s+a[i];
       c++;
       if(s>=m){
       	 f=true;
       	 break;
       }
    }
    if(f==true) cout<<c;
    else cout<<"NO";
	return 0;
}

/**************************************************************
	Problem: 1326
	User: houlingqi2
	Language: C++
	Result: Accepted
	Time:15 ms
	Memory:2076 kb
****************************************************************/