type rec=record
time,val:integer
end;
var t,m,k,i,j,max,time,vel:integer;a:array[1..100] of rec;
begin
readln(t,m);k:=1;
for i:=1 to m do
begin
readln(a[k].time,a[k].val);
if a[k].time>t then continue;
inc(k);
end;
k:=k-1;
max:=a[1].val;
for j:=1 to k do
begin
time:=a[j].time;vel:=a[j].val;
for i:=j+1 to k do
if a[i].time+time<=t then
if a[i].val+vel>max then
begin
time:=time+a[i].time;
vel:=vel+a[i].val;
max:=vel;
end;
end;
write(max);
end.