def fun(price, value, n, c):
dp = [0] * (c+1)
for i in range(n):
for j in range(c, price[i] - 1, -1):
dp[j] = max(dp[j-price[i]] + value[i], dp[j])
return dp[c]
while True:
try:
c, n = list(map(int, input().split()))
price = []
value = []
for i in range(n):
a, b = list(map(int, input().split()))
price.append(a)
value.append(b)
res = fun(price, value, n, c)
print(res)
except:
break

京公网安备 11010502036488号