#include <stdio.h>
int max(int a, int b);
int main() {
int t;
int m;
scanf("%d%d", &t, &m);
int w[200]={0};//耗时
int v[200]={0};//价值
int dp[200][200] = {0};//动态规划 前i个草药 在最大时间j下的最大价值
for (int i = 1; i <= m; i++)
{
scanf("%d%d", &w[i], &v[i]);
}
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= t; j++) {
if (w[i] > j) dp[i][j] = dp[i - 1][j];
else dp[i][j] = max(dp[i - 1][j], dp[i-1][j - w[i]] + v[i]);
}
}
printf("%d",dp[m][t]);
return 0;
}
int max(int a, int b) {
return a > b ? a : b;
}