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)