from collections import defaultdict
n,m = map(int,input().split())
n//=10
value = []
weight = []
l0 = []
dict1 = defaultdict(list)
for i in range(m):
v,w,q = map(int,input().split())
v //= 10
value.append(v*w)
weight.append(v)
if q == 0:
l0.append(i)
else:
dict1[q-1].append(i)
dp = [0]*(n+1)
for j in range(m):
for w in reversed(range(n+1)):
if j in l0:
if len(dict1[j])==0:
if w>=weight[j]:
dp[w] = max(dp[w],dp[w-weight[j]]+value[j])
elif len(dict1[j])==1:
a = dict1[j][0]
if weight[a]+weight[j]>w>=weight[j]:
dp[w] = max(dp[w],dp[w-weight[j]]+value[j])
elif w >= weight[a]+weight[j]:
dp[w] = max(dp[w],dp[w-weight[j]]+value[j],dp[w-weight[j]-weight[a]]+value[j]+value[a])
else:
a,b = dict1[j][0],dict1[j][1]
if weight[a] > weight[b]:
a,b = b,a
if weight[a]+weight[j]>w>=weight[j]:
dp[w] = max(dp[w], dp[w - weight[j]] + value[j])
elif weight[b]+weight[j]>w>=weight[j]:
dp[w] = max(dp[w], dp[w - weight[j]] + value[j],dp[w - weight[j] - weight[a]] + value[j] + value[a])
elif weight[a]+weight[b]+weight[j]>w>=weight[j]:
dp[w] = max(dp[w], dp[w - weight[j]] + value[j],
dp[w - weight[j] - weight[a]] + value[j] + value[a],
dp[w - weight[j] - weight[b]] + value[j] + value[b])
elif w >= weight[a]+weight[b]+weight[j]:
dp[w] = max(dp[w], dp[w - weight[j]] + value[j],
dp[w - weight[j] - weight[a]] + value[j] + value[a],
dp[w - weight[j] - weight[b]] + value[j] + value[b],
dp[w - weight[j] - weight[a] - weight[b]] + value[j] + value[a] + value[b])
print(dp[n]*10)