#include<stdio.h>
int main(void){
	int n; //n円を支払う
	int m; //m種類のコイン
	scanf("%d",&n);   scanf("%d",&m);
	int coin[m]; //コインの金額
	int i,j;
	int dp[50001];
	int min;
	for(i=0;i<m;i++){
		scanf("%d",&coin[i]);
	}
	for(i=0;i<n+1;i++){
    	dp[i]=i;		//求めたい金額につき１円コイン＊金額分の枚数最低かかる
    }
    for(i =1;i<m;i++){		//1以外のコインについて
    	for(j=coin[i];j<n+1;j++){  //そのコインより後ろはそのコインで払える
    		min = dp[j - coin[i]]+1;		//dp[510-500]+1 500円玉に両替
			if( min < dp[j] ){
				dp[j] = min;
			}
		}
	}
	printf("%d\n",dp[n]);
	return 0;
}
