from collections import defaultdict
line = input().split(" ")
# 除以10是必须的,不然会超时
N = int(line[0]) // 10
m = int(line[1])
prices = defaultdict(lambda: [0, 0, 0])
values = defaultdict(lambda: [0, 0, 0])
for i in range(1, m+1):
v, p, q = map(int, input().split(" "))
v //= 10
# 代表这个是主件
if q == 0:
prices[i][0] = v
values[i][0] = v * p
elif prices[q][1]:
prices[q][2] = v
values[q][2] = v * p
else:
prices[q][1] = v
values[q][1] = v * p
# 开辟一个一维的dp数组
dp = [0] * (N + 1)
for q in prices:
p1, p2, p3 = prices[q]
v1, v2, v3 = values[q]
# 一维数组需要倒序遍历
for j in reversed(range(N + 1)):
if j >= p1:
dp[j] = max(dp[j], dp[j - p1] + v1)
if j >= p1 + p2:
dp[j] = max(dp[j], dp[j - p1 - p2] + v1 + v2)
if j >= p1 + p3:
dp[j] = max(dp[j], dp[j - p1 - p3] + v1 + v3)
if j >= p1 + p2 + p3:
dp[j] = max(dp[j], dp[j - p1 - p2 - p3] + v1 + v2 + v3)
print(dp[N] * 10