#include <iostream>
#include <fstream>
#include <string>
#include <cmath>
#include <map>
using namespace std;

int main(){
	ifstream fin("DATA4.txt");
	ofstream fout("OUT4.txt");
	int m, n, c;
	int best[101];
	for(int T=0; T<5; T++){
		memset(best, 0x7F, sizeof best);
		fin>>m;
		best[0] = 0;
		fin>>n;
		for(int i=0; i<n; i++){
			fin>>c;
			for(int j=c; j<=m; j++)
				best[j] = min(best[j], best[j-c]+1);
		}
		fout<<best[m]<<endl;
	}
	return 0;
}

		
