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