#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
****************************************************************/