import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(), m = sc.nextInt();
int data[][] = new int[m][2];// 存储输入的药材的时间和价值
for (int i = 0; i < m; i++) {
data[i][0] = sc.nextInt();// 时间
data[i][1] = sc.nextInt();// 价值
}
int[] dp = new int[1001];// 保存i时间内采摘的最大价值
for (int i = 0; i < m; i++) {
for (int j = n; j >= data[i][0]; j--) {
// dp[j - data[i][0]]:表示的是 j - data[i][0]时间内采摘的药材最大价值 ;
// data[i][1]:表示的是data[i][0]时间的最大价值
dp[j] = Math.max(dp[j], dp[j - data[i][0]] + data[i][1]);
}
}
System.out.println(dp[n]);
}
}