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