#GYM104741F. 时间超限β

时间超限β

本题没有可用的提交语言。

Description

注意:本题与α 版本仅有问题描述的最后一段及输出要求不同,其余均相同。 在ICPC2021南京站,比赛进行到了4:58:24时,小M提交了E题的代码。

他看到了"等待评测(还有1000+提交)"的时候,不禁开始担心,我这份代码能否通过(Accepted)呢?会不会因为评测机波动导致超时(Time Limit Exceeded)不能通过呢?

小M已经知道,本次比赛一共有 N 台评测机,其中第 i 台评测机一共有 ki 个可供评测的线程,为了方便大家签到,我们不妨假设这 ki 个线程是一样的。

我们知道,多线程评测时的运行速度通常会低于单线程的评测速度,我们记第 i 台评测机在使用 j 个线程时,各个线程的运行小M的代码所需的时间为 tj(i)

现在已知小M提交代码进入评测后台时一共有 M 份代码被一起评测,后台会等概率将代码分配到任意评测机上(只要不超过这个评测机的线程限制)。形式化地,等概率是指考虑一个序列{ai},表示第i个评测机上分配了ai(0 ≤ ai ≤ ki)个代码进行评测,我们考虑在所有的的序列中等概率随机。

请你计算所有情况下,小M的代码需要运行的时间之和。由于答案可能很大,请你对 109 + 7 取模。

请注意:在本题中,我们认为小M的代码以外的代码之间没有区别。

输入的第一行为一个正整数 N( ≤ 2 × 103),表示一共有 N 台评测机。

接下来 N 行,每行首先是一个正整数 ki,表示第 i 台评测机一共有 ki 个可供评测的线程, 接下来 ki 个正整数 tj(i)( ≤ 109),第 j 个正整数表示第 i 台评测机在使用 j 个线程时,各个线程的运行小M的代码所需的时间。 (保证 ) 最后一行为一个正整数 ,表示小M提交代码进入评测后台时一起评测的代码数。

输出一行一个正整数,表示所有情况下,小M的代码需要运行的时间之和。(由于这个答案可能很大,请你对 109 + 7 取模后输出。)

Input

输入的第一行为一个正整数 N( ≤ 2 × 103),表示一共有 N 台评测机。

接下来 N 行,每行首先是一个正整数 ki,表示第 i 台评测机一共有 ki 个可供评测的线程, 接下来 ki 个正整数 tj(i)( ≤ 109),第 j 个正整数表示第 i 台评测机在使用 j 个线程时,各个线程的运行小M的代码所需的时间。 (保证 ) 最后一行为一个正整数 ,表示小M提交代码进入评测后台时一起评测的代码数。

Output

输出一行一个正整数,表示所有情况下,小M的代码需要运行的时间之和。(由于这个答案可能很大,请你对 109 + 7 取模后输出。)

2
2 1 2
1 1
2
4