#include<bits/stdc++.h>
#define int long long
using namespace std;
long long N,V;
int v[100005],w[100005];
int main(){
cin>>V>>N;
vector<vector<long long> >dp(N+1,vector<long long>(V+1,0));
for(int i = 1;i<=N;i++)cin>>v[i]>>w[i];
for(int i = 1;i<=N;i++){
dp[i][0] = 0;
for(int j = 1;j<=V;j++){
dp[i][j] = dp[i-1][j];
if(j-v[i]>=0){
dp[i][j] = max(dp[i][j],dp[i][j-v[i]]+w[i]);
}
}
}
cout<<dp[N][V];
}