#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;
}