const max=10000;
var n,m,i,j:longint;
a,b:array [1..max] of integer;
c:array [0..max] of longint;
begin
readln(m,n);
for i:=1 to n do
readln(a[i],b[i]);
for i:=1 to n do
for j:=m downto a[i] do
if c[j-a[i]]+b[i]>c[j] then c[j]:=c[j-a[i]]+b[i];
write(c[m]);
end.
数组不够大