<Problem>
http://ntucoder.net/Problem/Details/5518
Uses Crt;
Var n,m,i,j:longint;
a,d:array[-100..1000000] of longint;
Begin
readln(n,m);
for i:=1 to m do readln(a[i]);
d[0]:=1;
for i:=1 to m do
for j:=1 to n do
begin
if j>=a[i] then
if d[j-a[i]]=1 then d[j]:=1;
if d[n]=1 then begin writeln(n); exit; end;
end;
for i:=n downto 1 do
if d[i]=1 then
begin
writeln(i);
exit;
end;
End.