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