#include using namespace std; const int INF = 1 << 28; int c, n; int a[100]; int dp[100001]; int main() { cin >> c >> n; for (int i = 0; i < n; i++){ cin >> a[i]; } fill_n(dp, 100001, INF); dp[0] = 0; for (int i = 0; i < n; i++){ for (int j = 0; j + a[i] <= c; j++){ dp[j + a[i]] = min(dp[j + a[i]], dp[j] + 1); } } cout << (dp[c] != INF ? dp[c] : -1) << endl; }