#include<stdio.h>
int m,n,a[110];
int main()
{
scanf("%d %d",&m,&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
if(a[i]>a[j])
{
int t=a[i];
a[i]=a[j];
a[j]=t;
}
for(int i=n;i>=1;i--)
{
if(m<=0)
{
printf("%d",n-i+1);
return 0;
}
m-=a[i];
if(m<=0)
{
printf("%d",n-i+1);
return 0;
}
}
printf("NO");
return 0;
}
/**************************************************************
Problem: 1326
User: admin
Language: C
Result: Accepted
Time:15 ms
Memory:1144 kb
****************************************************************/