#include <bits/stdc++.h>
#define nx 1000
using namespace std;
int t,m;
int t1[nx];
int w1[nx];
int r = 0;
int dp[nx][nx];
int main(){
cin>>t>>m;
for(int i = 1;i<=m;++i){
cin>>t1[i];
cin>>w1[i];
}
for(int i = 0;i<=t;++i){
dp[0][i]=0;
}
for(int i = 1;i<=m;++i){
for(int j = t1[i];j<=t;++j){
dp[i][j]=max(dp[i-1][j],dp[i-1][j-t1[i]]+w1[i]);
r=max(r,dp[i][j]);
}
}
cout<<r;
return 0;
}