var n,m,i,j,k:integer;
q:int64;
a,b:array[1..20]of integer;
c:array[1..20,1..200]of int64;
f:array[0..200]of int64;
begin
readln(n,m);
for i:=1 to m do
begin
readln(a[i],b[i]);
for j:=1 to n do
begin
q:=j;
for k:=1 to b[j]-1 do
q:=q*j;
c[i,j]:=a[i]*q;
end;
end;
f[0]:=0;
for i:=1 to n do f[i]:=1000000;
for i:=1 to m do
for j:=n downto 0 do
for k:=0 to j do
begin
if f[j]>f[j-k]+c[i,k] then f[j]:=f[j-k]+c[i,k];
end;
writeln(f[n]);
end.