给定 件物品与一只最大可承重为 的背包。所有物品被划分为 个组别(组编号 ),同一组中的物品互斥:在最终方案中,每组至多选取 一件 物品。 第 件物品具有如下属性: 重量 ; 价值 ; 所属组别 。 请你在不超过背包承重 的前提下,选择若干物品使得总价值最大。
输入描述:
第一行输入两个整数 ——物品数量与背包容量。接下来 行,第 行输入三个整数 ,描述第 件物品的重量、价值与所属组别。


输出描述:
输出一个整数,表示在约束条件下可以获得的最大价值。
示例1

输入

3 45
10 10 1
10 5 1
50 400 2

输出

10

说明

共有两组:组 1 有两件重量 10 的物品,价值分别为 105;组 2 有一件重量 50 的物品,价值 400。背包容量仅为 45,无法选择组 2 的物品,因此最佳方案为在组 1 中选择价值为 10 的物品,得到答案 10
加载中...