#include<bits/stdc++.h>
using namespace std;
int maxw,n,w[105],v[105],dp[105][20005];
int main(){
cin >> maxw >> n;
for(int i = 1;i <= n;i ++){
cin >> w[i] >> v[i];
}
for(int i = 1;i <= n;i ++){
for(int j = 1;j <= maxw;j ++){
if(j >= w[i]) dp[i][j] = max(dp[i - 1][j],v[i] + dp[i - 1][j - w[i]]);
else dp[i][j] = dp[i - 1][j];
}
}
cout << dp[n][maxw];
}
/**************************************************************
Problem: 1282
User: wuyunfeng
Language: C++
Result: Accepted
Time:78 ms
Memory:10280 kb
****************************************************************/