302003 - 分组背包

物品大致可分为k(k\le100)组,同一组中的物品最多放1个,试求背包能装下的物品的最大价值是多少。

输入

第一行为两个数m(0\le m\le1 000)n(1\le n\le1 000),表示背包总重量为m,共有n件物品。 接下来n行,每行3个数a_i,b_i,c_i,表示物品的重量,价值和所属组数。

输出

输出一个数,即背包能装下的最大价值。

样例

输入

46 3
10 10 1
10 6 1
60 300 2

输出

10
时间限制 1 秒
内存限制 128 MB
统计
上一题 下一题