#include<bits/stdc++.h>
using namespace std;
const int N=10005;
long long n,w[N],v[N],m,f[N],maxx;
int main(){
cin>>m>>n;
for(int i=1;i<=n;i++){
cin>>w[i]>>v[i];
}
for(int i=1;i<=n;i++){
for(int j=w[i];j<=m;j++){
f[j]=max(f[j],f[j-w[i]]+v[i]);
if(f[j]>maxx){
maxx=f[j];
}
}
}
cout<<maxx;
return 0;
}
不理解为什么。