#include<stdio.h>
const int INF = 1000000000;
int dp[50010];
int find(int A[],int n,int key){
    int i;
    for(i=0;i<n;i++){
	if(A[i]==key) return 1;
    }
    return 0;
}

int main(void){
    int n,m,i,j,k;
    int c[20];

    scanf("%d%d",&n,&m);
    for(i=0;i<m;i++){
	scanf("%d",&c[i]);
    }

    dp[0]=0;dp[1]=1;
    for(i=2;i<=n;i++) dp[i]=INF;
    
    for(i=2;i<=n;i++){
	if(find(c,m,i)) dp[i]=1;
	else{
	    for(j=1;j<=i-1;j++) for(k=0;k<m;k++){
		if(j+c[k]==i && dp[j]+1<dp[i]){
		    dp[i]=dp[j]+1;
		}
	    }
	}
    }

    printf("%d\n",dp[n]);

    return 0;
}