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