#include <bits/stdc++.h>
using namespace std;
const int N = 50 + 1, K = 200 + 1, M = 2e6 + 1;
int k, n, maxm, minm = INT_MAX;
int a[N];
int dp[M];
int main() {
cin >> k >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
maxm = max(maxm, a[i]);
minm = min(minm, a[i]);
}
dp[0] = 1;
for (int i = 1; i <= k; i++) {
for (int j = maxm * k; j >= minm; j--) {
if (dp[j]) continue;
for (int g = 1; g <= n; g++) {
if (j >= a[g]) dp[j] |= dp[j - a[g]];
if (dp[j]) break;
}
}
}
for (int i = 1; i <= maxm * k; i++) {
if (!dp[i]) {
cout << i - 1;
return 0;
}
}
cout << maxm * k;
return 0;
}