#ATarc059c. [ARC059E] キャンディーとN人の子供

[ARC059E] キャンディーとN人の子供

题目描述

AtCoder 幼儿园里有 NN 个小朋友,编号 1N1\sim N,Evi 先生要把 CC 颗糖果分给他们。

小朋友可以得到任意多颗糖果。如果第 ii 个小朋友得到了 aa 颗糖,那么他会得到 xiax_i^a 的愉悦度,其中 xix_i 是第 ii 个小朋友的兴奋度。幼儿园活跃指数定义为 NN 个小朋友愉悦度的乘积。

f(x1,x2,,xN)f(x_1,x_2,\cdots,x_N) 表示所有分糖果的方案对应的幼儿园活跃指数的和。

现在给出 Ai,Bi(1iN)A_i,B_i(1\le i\le N),求 $\sum\_{x\_1=A\_1}^{B\_1} \sum\_{x\_2=A\_2}^{B\_2} \cdots \sum\_{x\_N=A\_N}^{B\_N} f(x\_1,x\_2,...,x\_N)$,对 109+710 ^ 9 + 7 取模。

输入格式

N,CN,C

A1,A2,,ANA_1,A_2,\cdots,A_N

B1,B2,,BNB_1,B_2,\cdots,B_N

输出格式

一行一个整数表示答案。

样例 1

输入

2 3
1 1
1 1

输出

4

样例 2

输入

1 2
1
3

输出

14

样例 3

输入

2 3
1 1
2 2

输出

66

样例 4

输入

4 8
3 1 4 1
3 1 4 1

输出

421749

样例 5

输入

3 100
7 6 5
9 9 9

输出

139123417

说明/提示

样例解释

第一组测试样例满足 Ai=BiA_i =B_i 的部分分设置要求。

我们只需要考虑当两个孩子的兴奋度都为 11 时的幼儿园活动水平之和(即 f(1,1)f(1,1))。

  • 若第 11 个孩子分得 00 颗糖,第 22 个孩子分得 33 颗糖,则活动水平为 10×13=11^0 \times 1^3 = 1
  • 若第 11 个孩子分得 11 颗糖,第 22 个孩子分得 22 颗糖,则活动水平为 11×12=11^1 \times 1^2 = 1
  • 若第 11 个孩子分得 22 颗糖,第 22 个孩子分得 11 颗糖,则活动水平为 12×11=11^2 \times 1^1 = 1
  • 若第 11 个孩子分得 33 颗糖,第 22 个孩子分得 00 颗糖,则活动水平为 13×10=11^3 \times 1^0 = 1

因此,f(1,1)=1+1+1+1=4f(1,1) = 1 + 1 + 1 + 1 = 4,并且所有 ff 的总和也是 44


第二组测试样例,因为这里只有一个孩子,所以孩子 11 的愉悦度本身就是幼儿园的活动水平。

由于分配 22 颗糖果的唯一方式是将两颗糖都给孩子 11,因此该情况下的活动水平就是 ff 的值。

  • 当孩子 11 的愉悦度为 11 时,f(1)=12=1f(1)=1^2=1
  • 当孩子 11 的愉悦度为 22 时,f(2)=22=4f(2)=2^2=4
  • 当孩子 11 的愉悦度为 33 时,f(3)=32=9f(3)=3^2=9

因此,答案为 1+4+9=141+4+9=14


对于第三组测试样例,有 f(1,1)=4f(1,1)=4f(1,2)=15f(1,2)=15f(2,1)=15f(2,1)=15f(2,2)=32f(2,2)=32,因此答案为 4+15+15+32=664+15+15+32=66

数据范围

对于 50%50\% 的数据:1N,C4001 \le N,C \le 4001Ai=Bi4001\le A_i=B_i \le 400

对于 100%100\% 的数据:1N,C4001 \le N,C \le 4001AiBi4001\le A_i\le B_i \le 400

翻译提供者:XHRlyb_2001