#include <iostream> #include <algorithm> #include <cmath> #include <cstring> #define maxn 1010 #define maxx 110 using namespace std; int Ti[maxx],V[maxx]; int dp[maxn]; int main() { int T,M; while(cin>>T>>M) { memset(dp,0,sizeof(dp)); for(int i=1;i<=M;i++)cin>>Ti[i]>>V[i]; for(int i=1;i<=M;i++) { for(int j=T;j>=Ti[i];j--) { dp[j] = max(dp[j-Ti[i]]+V[i],dp[j]); } } cout<<dp[T]<<endl; } } // 64 位输出请用 printf("%lld")