#include using namespace std; int dp[100001]; int main(void) { cin.tie(0); ios::sync_with_stdio(false); int c, n, t; vector v; cin >> c; cin >> n; for (int i = 0; i < n; i++) { cin >> t; v.push_back(t); } sort(v.rbegin(), v.rend()); fill(dp, dp + 100001, 1e9); dp[c] = 0; for (int i = 0; i < n; i++) { for (int j = c; j >= 0; j--) { if (dp[j] >= 1e9) continue; int x = j / v[i]; int y = j % v[i]; dp[y] = min(dp[y], dp[j] + x); } } if (dp[0] >= 1e9) { dp[0] = -1; } cout << dp[0] << '\n'; return 0; }