《冰封王座的骑士》是一款由 ICPC Entertainment, Inc. 开发并发布的热门网络游戏。
名为 Zeus Super Computer (ZSC) 的单台服务器处理来自所有游戏玩家的请求。最初,所有玩家的数据都存储在 ZSC 的内存中,以便服务器无需查询数据库即可响应请求。然而,随着游戏越来越受欢迎,这种设计很难扩展。
作为 ICPC Entertainment 的一名优秀工程师,Tom 希望通过使用容量非常大的优秀数据库来帮助公司节省成本。经过一番调查,Tom 发现了所有玩家的行为模式,并能准确预测玩家何时会发送请求。现在是时候部署他的优化设计了:基于时间的缓存。
为了引入基于时间的缓存策略,玩家的数据不再一直保存在内存中,而是仅保留一段时间。如果玩家在一段时间内没有发送任何请求,ZSC 将丢弃该玩家的数据。具体来说,当来自某位玩家的请求到来时:
- 如果该玩家的数据不在内存中,ZSC 会将其数据加载到内存中,并记录该玩家的最后请求时间;
- 如果该玩家的数据已经在内存中,ZSC 会立即响应此请求,然后更新该玩家的最后请求时间。
此外,如果自上次请求以来已经过去了 $X$ 秒($X$ 是一个待定的正整数参数),ZSC 也会从内存中丢弃该玩家的数据。特别地,如果请求是在玩家上次请求时间后的恰好 $X$ 秒发送的,ZSC 必须将该玩家的数据加载到内存中。最初,ZSC 的内存是空的。
Tom 希望你帮他确定最佳的正整数 $X$,使得总成本最小化。关于 CPU 和内存的成本,ZSC 将一名玩家的数据在内存中保存一秒的成本为 $a$ 美元。ZSC 的 CPU 非常强大,如果一秒内加载了 $i$ 名玩家的数据,则成本为 $i \cdot b_i$。
输入格式
输入的第一行包含一个整数 $m$ ($1 \le m \le 10^5$),表示游戏玩家的数量。
接下来 $m$ 行,指定了玩家的预测请求。每行以一个整数 $k$ ($1 \le k \le 5 \times 10^5$) 开头,表示玩家 $i$ 将发送的请求数量。其余 $k$ 个整数 $p_1, p_2, \dots, p_k$ ($1 \le p_1 \le p_2 \le \dots \le p_k \le 10^9$) 是 Tom 预测的玩家向 ZSC 发送请求的时间(以秒为单位)。保证所有玩家发送的请求总数不超过 $5 \times 10^5$。
下一行包含一个整数 $a$ ($1 \le a \le 10^4$),表示 ZSC 将一名玩家的数据在内存中保存一秒的成本。
最后一行包含 $m$ 个整数 $b_1, b_2, \dots, b_m$ ($1 \le b_i \le 10^9$),表示如果一秒内加载了 $i$ 名玩家的数据,则加载一名玩家数据的成本。
输出格式
第一行打印两个整数,分别表示最小总成本以及能达到该最小成本的不同正整数 $X$ 的数量。第二行按升序排列输出所有这些 $X$ 的值。
可以证明,使得总成本最小化的不同正整数 $X$ 的数量是有限的。
样例
样例输入 1
4 3 1 4 5 2 2 4 4 2 4 7 8 6 1 3 5 7 8 10 1 2 4 6 5
样例输出 1
53 2 3 4
样例输入 2
3 3 1 1 4 5 1 4 4 5 7 3 3 4 5 2 6 4 3
样例输出 2
55 1 1
说明
不同 $X$ 值的总成本如图 2 所示。
图 2:第一组样例数据。