#include<iostream>
using namespace std;
int T;
int M;
int Val[101];
int Cost[101];
int dp[105][105];
int main(){
cin>>T;
cin>>M;
for(int i=1;i<=M;i++)
cin>>Cost[i]>>Val[i];
for(int i=0;i<=T;i++){
if(Cost[1]>i)dp[1][i]=0;
else dp[1][i]=Val[1];
}
for(int i=2;i<=M;i++){
for(int j=0;j<=T;j++){
dp[i][j]=dp[i-1][j];
if(Cost[i]<=j)
dp[i][j]=max(dp[i-1][j],Val[i]+dp[i-1][j-Cost[i] ] );
}
}
cout<<dp[M][T];
}