#include<stdio.h>
#include<stdlib.h>

int com(const void*a,const void*b){
	if( *(int*)a>*(int*)b ){
		return 1;
	}
	else if( *(int*)a==*(int*)b ){
		return 0;
	}
	else{
		return -1;
	}
}


int main(){
	int n,m;//n:支払う額,m:硬貨の種類
	scanf("%d %d",&n,&m);
	int data[m];
	int i,j;
	for(i=0;i<m;i++){
		scanf("%d",&data[i]);
	}
	qsort((void*)data,m,sizeof(data[0]),com);
	int dp[n+1][m];
	for(i=0;i<m;i++){
		for(j=0;j<=n;j++){
			dp[j][i]=0;
		}
	}
	if(data[0]==1){
		for(i=1;i<=n;i++){
			dp[i][0]=i;
		}
	}
	else{
		printf("error!");
		return 0;
	}
	int a;//比較用に使用
	for(i=1;i<m;i++){//i番目の硬貨
		for(j=1;j<=n;j++){//j円に必要な枚数
			a=(j/data[i])+dp[j%data[i]][i-1];//i番目の硬貨を使うなら
			dp[j][i]=dp[j][i-1]>a?a:dp[j][i-1];
		}
	}
	printf("%d\n",dp[n][m-1]);
	return 0;
}