给定两个长度为 n 的整数序列 B = [b_1, \ldots, b_n],C = [c_1, \ldots, c_n]。对于长度为 n 的非负整数序列 D = [d_1, \ldots, d_n],设 S(D) 为所有满足 $di = 0 的下标 i 的集合,定义 f(D) = \sum{i \in S(D)} bi,g(D) = \prod{i \in S(D)} c_i。特别地,若 S(D) 为空,则 f(D) = 0,g(D) = 1$。
小 L 有一个长度为 n 的 正整数序列 A = [a_1, \ldots, a_n]。小 L 可以对序列 A 做如下修改:
- 选择序列 A 的两个 相邻 的下标 i, j(即 1 \leq i, j \leq n 且 |i - j| = 1),若 a_i \leq a_j,则将 a_j 改为 a_j - a_i,同时将 a_i 改为 0。
小 L 可以进行任意多次修改操作,也可以不进行任何修改。对于所有序列 A 通过以上修改操作可以得到的序列 D,小 L 想求出 f(D) 的最大值以及 g(D) 之和,请你帮助他求出这两个值。形式化地,记 T(A) 为序列 A 通过以上修改操作可以得到的 所有序列的集合,你需要求出 $\max{D \in T(A)} f(D) 以及 \sum{D \in T(A)} g(D)。其中,由于 \sum_{D \in T(A)} g(D) 可能较大,你只需要求出其对 1,000,000,007$ 取模后的结果。