#include<bits/stdc++.h>
using namespace std;
const int T=10000007;
const int M=10007;
const int INF=(1<<30)-3;
int t,m;
int tim[M],value[M];
int f[M][T];
int main(){
cin>>t>>m;
for(int i=1;i<=m;i++){
cin>>tim[i]>>value[i];
}
f[0][0]=0;
for(int i=1;i<=t;i++){
f[0][i]=-INF;
}
for(int i=1;i<=m;i++){
for(int j=0;j<=t;j++){
if(j>=tim[i]){
f[i][j]=max(f[i][j],f[i][j-tim[i]]+value[i]);
}
else{
f[i][j]=f[i-1][j];
}
}
}
int maxv=-1;
for(int i=1;i<=t;i++){
maxv=max(maxv,f[m][i]);
}
cout<<maxv;
return 0;
}