#include <iostream>
using namespace std;
char dt[5000000];
int n, m;
int a[1001];
bool can_place_at(int p)
{
if (dt[p] + 80 > 120) return false;
for (int i = 1; i <= m; ++ i)
if (dt[p+a[i]-1]+40 > 120)
return false;
return true;
}
void place_at(int p)
{
dt[p] += 80;
for (int i = 1; i <= m; ++ i)
dt[p+a[i]-1] += 40;
}
int main()
{
cin >> n >> m;
for (int i = 1; i <= m; ++ i)
cin >> a[i];
int last = 1;
for (int wl = 1; wl <= n; ++ wl)
{
while (!can_place_at(last)) last++;
place_at(last);
}
int ans = 5000000-1;
while (!dt[ans]) ans--;
cout << ans << endl;
return 0;
}