#include<bits/stdc++.h>
using namespace std;
//dp[i]表示i容量的体积能得到的最大价值
//c[i]表示第i个物体的体积
//v[i]表示第i个物体的价值
int t,m,dp[1010],c[105],v[105];
int main(){
cin>>t>>m;//t为物体个数 m为背包容量
for(int i=1;i<=m;i++) cin>>c[i]>>v[i]; //输入各个物体体积和价值
for(int i=1;i<=m;i++){
for(int j=t;j>=c[i];j--)
dp[j] = max(dp[j], dp[j-c[i]] + v[i]);
}
cout<<dp[t];
return 0;
}