爬塔
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

高川最喜欢的游戏当属 Slay the Spire,这是一款爬塔游戏,你需要从一座塔的底部一直爬到顶部,在爬塔的过程中,塔的每一层都有许多的宝物等你来拿。

高川从塔的左侧开始攀爬,从底部爬到顶部,再从右侧从顶部逐步下到底部。塔总共有 n 层,每一层都有很多宝物从左到右排列。在左侧攀爬时,他只能从每层的最左边按顺序取宝物,在右侧下降时,他只能从每层的最右边按顺序取宝物。每个宝物都有一个价值,他最多拿 m 个宝物,他想知道自己从塔上下来时,最多可以拿的宝物价值和是多少。

输入描述:

第一行输入两个正整数  。表示塔的层数和最多能选的个数。

接下来 n 行,每行先输入一个数字 x。表示这一层宝物的个数。接下来输入 x 个正整数,表示每个宝物的权重 c。




输入保证可挑选的物品大于等于 m 个.

输出描述:

输出一个整数表示高川能拿走的最大价值和.
示例1

输入

复制
2 3
2 3 2
4 1 4 1 5

输出

复制
10