#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")

京公网安备 11010502036488号