var n,m,i,j:longint;
v,p,a:array[0..25] of longint;
s:array[0..30000] of longint;
function max(x,y:longint):longint;
begin
if x>y then max:=x else max:=y;
end;
begin
readln(n,m);
for i:=1 to m do
begin
readln(v[i],p[i]);
a[i]:=v[i]*p[i];
end;
for i:=1 to m do
begin
for j:=n downto v[i] do
s[j]:=max(s[j],s[j-v[i]]+a[i]);
end;
writeln(s[n]);
end.