14368 - 贪吃的小猫

通过次数

0

提交次数

0

时间限制 : 1 秒
内存限制 : 128 MB

在北京大学的校园里,有许多柿子树,在25号宿舍楼前,就有 N 棵。并且这 N 棵柿子树每棵的高度都是 H。冬天的寒冷渐渐笼罩了大地,树上的叶子渐渐掉光了,只剩下一个个黄澄澄的柿子,看着非常喜人。而有一只小猫恰好非常的爱吃柿子,看着窗外树上的柿子,它十分眼馋,于是决定利用自己敏捷的跳跃能力跳到树上去吃柿子。

小猫可以从宿舍的阳台上跳到窗外任意一棵柿子树的树顶。之后,它每次都可以在当前位置沿着当前所在的柿子树向下跳 1 单位距离。当然,小猫的能力远不止如此,它还可以在树之间跳跃。每次它都可以从当前这棵树跳到另外的任意一棵,在这个过程中,它的高度会下降 Δ 单位距离。每个时刻,只要它所在的位置有柿子,它就可以吃掉。整个“吃柿子行动”一直到小猫落到地面上为止。

现有同学准确的统计了所有柿子树上柿子的生长情况。他很想知道,小猫从阳台出发,最多能吃到多少柿子?现在你的任务就是帮助他写一个这样的程序。

图为 N=3,H=10,Δ=2 的一个例子。小猫按照图示路线进行跳跃,可以吃到最多的 8 个柿子。

输入

第一行有三个以空格分隔的整数,分别代表 N,H,Δ。

接下来的 N 行,每行第一个整数为 Ni,代表第 i 棵树上的柿子数量。

接下来是 Ni 个整数,每个整数 Tij 代表第 i 棵柿子树的 Tij 高度上长有一个柿子。

输出

一个整数,即小猫最多吃到的柿子数。

样例

输入

3 10 2
3 1 4 10
6 3 5 9 7 8 9
5 4 5 3 6 9

输出

8

提示

对于全部数据,1≤N,H≤200,0≤Ni≤200,1≤Δ≤N,1≤Tij≤H。