#include"bits/stdc++.h" //#include using namespace std; #define print(x) cout< PI; typedef pair V; typedef vector VE; const ll mod = 100000000; int M, N; int C[20]; int dp[21][10001]; //----------------------------------------------------------------- vector primes; void make_primes(int n) { primes.resize(n + 1, true); primes[0] = primes[1] = false; rep(i, 2, sqrt(n)) { if (primes[i]) { for (int j = 0; i * (j + 2) < n; j++) primes[i * (j + 2)] = false; } } } //----------------------------------------------------------------- int main() { make_primes(101010); scanf("%d %d", &M, &N); rep(i, 0, N) scanf("%d", &C[i]); rep(i, 0, N + 1) rep(j, 0, M + 1) dp[i][j] = -1; dp[0][M] = 0; rep(i, 0, N) rep(j, 0, M + 1) if (0 <= dp[i][j]) { rep(k, 0, j / C[i]+1) dp[i + 1][j - k * C[i]] = max(dp[i + 1][j - k * C[i]], dp[i][j] + k); } int ans = 0; int _max = 0; rep(j, 0, M + 1) if (0 <= dp[N][j]) { if (primes[j]) ans += dp[N][j]; _max = max(_max, dp[N][j]); } ans += _max; printf("%d\n", ans); }