#include<stdio.h>

#define MAX 21

int min(int b,int c)
{
	int M;
	M=b;
	if(M>c) M=c;
	return M;
}

int main(void)
{
	int i,j,n,m,s[MAX],dp[MAX][50001];
	
	scanf("%d%d",&n,&m);
	s[0]=0;
	for(i=1;i<=m;i++)
	{
		scanf("%d",&s[i]);
	}
	for(i=0;i<=n;i++)
	{
		dp[0][i]=0;
	}
	for(i=1;i<=m;i++)
	{
		for(j=0;j<=n;j++)
		{
			if(s[i]<=j)
			{
				dp[i][j]=min(dp[i-1][j-s[i]]+1,dp[i][j-s[i]]+1);
			}
			else
			{
				dp[i][j]=dp[i-1][j];
			}
		}
	}
	printf("%d\n",dp[m][n]);
	return 0;
}