#include <bits/stdc++.h>
using namespace std;
int main() {
freopen("problem.in", "r", stdin);
freopen("problem.out", "w", stdout);
int n, m;
cin >> n >> m;
int time[605], value[605];
for (int i = 1; i <= m; i++) {
cin >> time[i] >> value[i];
}
int dp[605][605] = {0};
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= n; j++) {
if (j >= time[i]) {
dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - time[i]] + value[i]);
} else {
dp[i][j] = dp[i - 1][j];
}
}
}
cout << dp[m][n] << endl;
fclose(stdin);
fclose(stdout);
return 0;
}