#include<bits/stdc++.h>
using namespace std;
bool cmp(int x,int y){
	return x>y;
}
int main(){

	int m,n,c=0,s=0;
	bool f=false;
	cin>>m>>n;
	int a[2000];
	for(int i=1;i<=n;i++){
		cin>>a[i];
	} 
	sort(a+1,a+1+n,cmp);
//	for(int i=1;i<=n;i++){
//		cout<<a[i]<<" ";
//	} 
	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: hulaoshi
	Language: C++
	Result: Accepted
	Time:15 ms
	Memory:2076 kb
****************************************************************/