#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int t,m;
const int N=108;
int time[N],value[N],dp[N];
int main(){
cin>>t>>m;
for(int i=0;i<m;i++){
cin>>time[i]>>value[i];
}
memset(dp,0,sizeof(dp));
for(int i=0;i<m;i++){
for(int j=t;j>=time[i];j--){
dp[j]=max(dp[j],dp[j-time[i]]+value[i]);
}
}
printf("%d\n",dp[t]);
return 0;
}