#include<bits/stdc++.h>
using namespace std;
  bool cmp(int x,int y){
  	return x>y; 
  }
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: zhangailin
	Language: C++
	Result: Accepted
	Time:13 ms
	Memory:2076 kb
****************************************************************/