P1218

Cash

Cash

商品社会发展迅速,一向不懂经济的 Dragon 博士最近也决定投身金融行业,开办了一家投资公司。然而,他已经连续亏损了 33 个月。

Dragon 博士发现,市场上美元与人民币之间的汇率每天都在波动。第 ii 天,11 元人民币可以兑换 cic_i 美元,而 11 美元可以兑换 did_i 元人民币。每次将美元兑换为人民币时,需要额外支付 costcost 元人民币作为费用;将人民币兑换为美元则不需要支付额外费用。

Dragon 博士的客户每天会向他提供 wiw_i 元人民币作为运转资金。每天剩余的资金,包括美元和人民币,都可以无须额外费用地保留到第二天。

请你帮助 Dragon 博士制定最优的兑换策略,使第 nn 天结束时持有的人民币最多。

输入格式

第一行包含两个整数 nn 和 costcost,分别表示天数和将美元兑换为人民币时需要支付的额外费用。

接下来 nn 行,第 ii 行包含三个以空格分隔的数 wiw_i、cic_i 和 did_i,分别表示第 ii 天获得的运转资金、人民币兑换美元的汇率,以及美元兑换人民币的汇率。

输出格式

输出一行一个实数,表示第 nn 天结束时可以获得的最大人民币金额。

答案保留小数点后 44 位,并采用四舍五入规则,即精确值小数点后第 55 位为 55 时,向第 44 位进 11。

样例输入

3 1
10 0.1 9
10 0.01 20
10 0.1 9

样例输出

39.0000

数据范围

  • 对于 50%50\% 的数据,nn 为整数;
  • 对于 100%100\% 的数据,1≤n≤1051\le n\le 10^5;
  • 0≤cost≤maxlongint0\le cost\le \mathrm{maxlongint};
  • wiw_i 为整数,且 0≤wi≤300\le w_i\le 30;
  • cic_i 为实数,满足 0≤ci≤1000\le c_i\le 100,小数点后最多有 44 位;
  • did_i 为实数,满足 0<di≤1140<d_i\le 114,小数点后最多有 22 位;
  • 对于每个 1≤i≤n1\le i\le n,保证 ci⋅di≤1c_i\cdot d_i\le 1;
  • 保证在最优策略下,任意时刻持有的人民币数量与美元数量按当日汇率折算后的人民币金额均不超过 101510^{15};
  • 最终答案严格小于 9×10119\times 10^{11};
  • 保证最终答案乘以 10410^4 后,与任意半整数 k+0.5k+0.5(其中 kk 为整数)的距离至少为 10−610^{-6}。

来源与许可

本题题面与测试数据整理自 BZOJ。

样例 1

输入

3 1
10 0.1 9
10 0.01 20
10 0.1 9

输出

39.0000