#include<stdio.h>
#define min(a,b) ((a)<(b) ? (a):(b))
static const int INFTY = (1<<29);
int dp[50010];
int main(void){
    int n,m,c[20];
    int i,j;

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

    dp[1]=1;
    for(i=2;i<=n;i++) dp[i]=INFTY;

    for(i=0;i<m;i++){
        for(j=0;j+c[i]<=n;j++){
            dp[j+c[i]]=min(dp[j+c[i]],dp[j]+1);
        }
    }

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

    return 0;
}