#include<iostream>
using namespace std;
long long n,m,x[10020000]={0};
int main(){
cin>>n>>m;
for(int i=0;i<m;i++){
int t,v;
cin>>t>>v;
for(int j=1;j<=n;j++){
if(i==0){
if(j>=t){
x[j+(i*(n+1))]=v;
}
else{
x[j+(i*(n+1))]=0;
}
continue;
}
if(j>=t){
if(x[j-t+(i*(n+1))]+v>x[j+((i-1)*(n+1))]){
x[j+(i*(n+1))]=x[j-t+(i*(n+1))]+v;
}
else{
x[j+(i*(n+1))]=x[j+((i-1)*(n+1))];
}
}
else{
x[j+(i*(n+1))]=x[j+((i-1)*(n+1))];
}
}
}
cout<<x[n+((m-1)*(n+1))];
return 0;
}