var i,j,n,m:longint; v,p:array[1..25] of longint; f:array[0..25,0..30000] of longint; begin assign(input,'p1317.in'); reset(input); readln(n,m); for i:=1 to m do read(v[i],p[i]); for i:=0 to n do f[0,i]:=0; for i:=1 to m do for j:=0 to n do begin f[i,j]:=f[i-1,j]; if (j>=v[i]) and (f[i-1,j-v[i]]+v[i]*p[i]>f[i,j]) then f[i,j]:=f[i-1,j-v[i]]+v[i]*p[i]; end; write(f[m,n]); end. //delphi/7198