#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
int f[1005];
int main () {
int t,m;
scanf ("%d%d",&t,&m);
memset (f,-1,sizeof (f));
f[0]=0;
for (int i=1;i<=m;i++) {
int p,v;
scanf ("%d%d",&p,&v);
for (int j=t;j>=p;j--) {
if (f[j-p]==-1) continue;
f[j]=max (f[j],f[j-p]+v);
}
}
for (int i=0;i<t;i++) f[t]=max (f[t],f[i]);
printf ("%d",f[t]);
return 0;
}