import java.util.*;
public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int money = scan.nextInt(); int m = scan.nextInt(); if (money <= 0 || m <= 0) System.out.println(0);
//给物品类赋值
Good[] goods = new Good[m + 1];
for (int i = 1; i < m + 1; i++) {
goods[i] = new Good();
}
for (int i = 1; i < m + 1; i++) {
int v = scan.nextInt();
int p = scan.nextInt();
int q = scan.nextInt();
goods[i].setAll(v,p,q);
// System.out.println(goods[i].v+" "+goods[i].p+" "+goods[i].q);
//判断是否为主件
if (q > 0) { //附件
if (goods[q].a1 == 0) {
goods[q].setA1(i);
} else {
goods[q].setA2(i);
}
}
}
//开始动态规划
int[][] dp = new int[m + 1][money + 1];
//开始m循环
for (int i = 1; i < m + 1; i++) {
//每一个主件分四种情况
int[] vs = new int[4];
int[] dps = new int[4];
int a1 = goods[i].a1;
int a2 = goods[i].a2;
//只有主件
vs[0] = goods[i].v;
dps[0] = goods[i].p * vs[0];
//主件加附件1,需要先判断是否有附件
if (a1 != 0) {
vs[1] = goods[a1].v + vs[0];
dps[1] = goods[a1].p * goods[a1].v + dps[0];
}
//主件加附件2
if (a2 != 0) {
vs[2] = goods[a2].v + vs[0];
dps[2] = goods[a2].p * goods[a2].v + dps[0];
}
//主件加附件1,2
if (a1 != 0 && a2 != 0) {
vs[3] = vs[0] + goods[a1].v + goods[a2].v;
dps[3] = dps[0] + goods[a1].p * goods[a1].v + goods[a2].p * goods[a2].v;
}
//开始money循环
for (int j = 1; j <= money; j++) {
if (goods[i].q > 0||
goods[i].v>j) { //物品重量过大或者物品为附件,则跳过;
dp[i][j] = dp[i - 1][j];
} else {
//分四种情况,按顺序进行判断赋值,
if (j >= vs[0]) dp[i][j] = Math.max(dp[i - 1][j],
dp[i - 1][j - vs[0]] + dps[0]);
if (j >= vs[1]) dp[i][j] = Math.max(dp[i][j], dp[i - 1][j - vs[1]] + dps[1]);
if (j >= vs[2]) dp[i][j] = Math.max(dp[i][j], dp[i - 1][j - vs[2]] + dps[2]);
if (j >= vs[3]) dp[i][j] = Math.max(dp[i][j], dp[i - 1][j - vs[3]] + dps[3]);
}
}
}
System.out.println(dp[m][money]);
}
//定义物品类
static class Good {
public int v;
public int p;
public int q;
public int a1 = 0; //附件的编号
public int a2 = 0;
public Good(){};
public void setAll(int v, int p, int q) {
this.v = v;
this.p = p;
this.q = q;
}
public void setA1(int a1) {
this.a1 = a1;
}
public void setA2(int a2) {
this.a2 = a2;
}
}
}