经典背包问题
T, M = map(int, input().split())
dp = [[0 for i in range(T+1)] for j in range(M+1)]
t = []
v = []
for i in range(0, M):
a, b = map(int, input().split())
t.append(a)
v.append(b)
for i in range(0, M):
for j in range(0, T+1):
if j < t[i]:
dp[i+1][j] = dp[i][j]
else:
dp[i+1][j] = max(dp[i][j], dp[i][j-t[i]]+v[i])
print(dp[M][T])