#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
int f[100005];
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 a,b; scanf ("%d%d",&a,&b);
for (int j=a;j<=t;j++) {
f[j]=max (f[j-a]+b,f[j]);
}
}
for (int i=1;i<=t;i++) f[t]=max (f[t],f[i]);
printf ("%d",f[t]);
return 0;
}