const maxb=21;
var
c,max:longint;
b,i,j:byte;
a,f:array[1..maxb]of longint;
begin
readln(c,b);
for i:=1 to b do read(a[i]);
fillchar(f,sizeof(f),0);
max:=0;
for i:=1 to b do
if a[i]<=c then
begin
f[i]:=a[i];
for j:=1 to i-1 do
if (f[j]+a[i]<=c)and(f[j]+a[i]>f[i]) then
f[i]:=f[j]+a[i];
if f[i]>max then max:=f[i];
end;
write(max);
end.