动物森友会
题号:NC205306
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

Compute 最近开始玩动物森友会了。
这个游戏的时间与现实时间是同步的(一周有 7 天),而一些特定事件只会在一周的某些天解锁。
我们假设有 n 个不同的事件,而每个事件都会给予不同的材料,并且每个事件只会在一周中的特定几天开放,在开放的时间内可以完成多次。但由于 Compute 要参加训练,他每天并没有多少时间玩游戏,所以他每天最多只能完成 e 次事件。
现在 Compute 想做出一件非常稀有的道具——高达,并且他计算出了他收集齐所有材料需要完成每一种事件的次数。
假设现在 Compute 从周一开始玩这个游戏,他最少需要经过几天(包括不玩游戏的日子)才能造出高达?

输入描述:

第一行包含 2 个整数 n, e (, ),中间以空格分隔,分别表示不同事件的数量和 Compute 一天能完成的事件次数。
接下来 n 行,每行包含 个整数 c_i, m_i, (, , , ),中间以空格分隔,分别表示事件 i 需要完成的次数、事件开放的天数和事件 i 在一周中的哪些时间会开放。

输出描述:

在一行输出一个整数,表示 Compute 造出高达的最少天数。
示例1

输入

复制
5 2
2 4 1 3 5 7
2 3 2 4 6
2 2 1 2
2 2 3 4
2 2 5 6

输出

复制
5

备注:

可以按如下方案进行:
第 1 天(周一):事件 1 和 3 各一次;
第 2 天(周二):事件 2 和 3 各一次;
第 3 天(周三):事件 1 和 4 各一次;
第 4 天(周四):事件 2 和 4 各一次;
第 5 天(周五):事件 5 两次。
正好 5 天即可完成。