#include <stdio.h>
#include <stdlib.h>
static int t, m;
int main(void)
{
scanf("%d %d", &t, &m);
int * a = (int *) malloc(m * sizeof(int));
int * b = (int *) malloc(m * sizeof(int));
long long int * dp = (long long int *) malloc(t * sizeof(long long int));
for (int i = 0; i < m; ++i) {
scanf("%d %d", a + i, b + i);
}
for (int i = 0; i < t; ++i) {
*(dp + i) = 0;
}
for (int i = 0; i < m; ++i) {
for (int j = a[i] - 1; j < t; ++j) {
long long int tmp = *(dp + j - *(a + i)) + *(b + i);
if (*(dp + j) < tmp) {
*(dp + j) = tmp;
}
}
}
printf("%lld\n", *(dp + t - 1));
free(dp);
free(b);
free(a);
return 0;
}