#include <cstdio>
#include <iostream>
using namespace std;
const int maxn=101;
int dp[maxn];
int v[maxn];
int maxint=10000;

int main() {
    int m,n;
    while(cin>>m>>n){
        for(int i=1;i<=n;i++){
            scanf("%d",&v[i]);
        }
        for(int i=0;i<maxn;i++) dp[i]=maxint;
        dp[0]=0;
        for(int i=1;i<=n;i++){
            for(int j=m;j>=v[i];j--){
                dp[j]=min(dp[j],dp[j-v[i]]+1);
            }
        }
        if(dp[m]==maxint) cout<<"0"<<endl;
        else cout<<dp[m]<<endl;
    }
}