import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            // int a = in.nextInt();
            // int b = in.nextInt();
            // System.out.println(a + b);

            int n = in.nextInt();
            int m = in.nextInt();
            n /= 10;

            // 价格数组,从第1行开始
            // 每行第一列为物品价格/10
            // 第二列为附件1价格/10
            // 第三列为附件2价格/10
            int[][] ps = new int[m + 1][3];
            // 满意度数组,从第1行开始
            // 每行第一列为物品满意度(价格/10)
            // 第二列为附件1满意度(价格/10)
            // 第三列为附件2满意度(价格/10)
            int[][] ws = new int[m + 1][3];

            for (int i = 1; i <= m; i++) {
                int a = in.nextInt();
                int b = in.nextInt();
                int c = in.nextInt();
                a /= 10;
                b = b * a;
                if (c == 0) {
                    // 物品
                    ps[i][0] = a;
                    ws[i][0] = b;
                } else {
                    if (ps[c][1] == 0) {
                        // 附件1
                        ps[c][1] = a;
                        ws[c][1] = b;
                    } else {
                        // 附件2
                        ps[c][2] = a;
                        ws[c][2] = b;
                    }
                }
            }

            int[][] arr = new int[m + 1][n + 1];
            for (int i = 1; i <= m; i++) {
                int a = ps[i][0];
                int b = ws[i][0];
                int c = ps[i][1];
                int d = ws[i][1];
                int e = ps[i][2];
                int f = ws[i][2];
                for (int j = 1; j <= n; j++) {
                    arr[i][j] = j >= a ? Math.max(arr[i - 1][j], arr[i - 1][j - a] + b) : arr[i - 1][j];
                    arr[i][j] = j >= (a + c) ? Math.max(arr[i][j], arr[i - 1][j - a - c] + b + d) : arr[i][j];
                    arr[i][j] = j >= (a + e) ? Math.max(arr[i][j], arr[i - 1][j - a - e] + b + f) : arr[i][j];
                    arr[i][j] = j >= (a + c + e) ? Math.max(arr[i][j], arr[i - 1][j - a - c - e] + b + d + f) : arr[i][j];
                }
            }

            System.out.println(arr[m][n]*10);
        }
    }
}