宝盒
题号:NC204553
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

上天眷顾了牛牛,给牛牛n个宝盒。牛牛会从这n个箱子中各取一件宝物去当掉来换钱(每个箱子中有m_i件宝物)。
牛牛想知道他用不同的方法取宝物能当来的钱数量的前k小值,为了避免输出量过大只要输出即可,其中的 a_i为第i小值。

输入描述:

第一行一个整数,表示宝箱个数以及前k小的可获得的价值

接下来n行每行开头一个整数表示第一个宝箱中宝物个数,接下来个数表示每件宝物的价值

输出描述:

一行一个整数,表示
示例1

输入

复制
3 10
4 1 3 4 5
3 1 7 9
4 1 2 3 5

输出

复制
57

说明

{10 }小分别为{3,4,5,5,6,6,7,7,7,7}

备注:

对于的数据:

对于的数据:,保证每个宝物的价值为不超过100的正整数,所有 m_i的积大于等于k