1892. 高阶前缀和

记二维数组行下标从 00 开始,列下标从 11 开始。一维数组下标从 11 开始。

给定长为 nn 的数组 aa。设有二维数组 ss,满足 s0,i=ais_{0,i}=a_i,且: si,1=ai,si,j=si,j1+si1,j(i1,j>1) s_{i,1}=a_{i}, s_{i,j}=s_{i,j-1}+s_{i-1,j}(i\ge 1,j > 1) 求任意 sy,xmod(109+7)s_{y,x}\bmod (10^9+7)

输入

输入一行三个整数 n,x,y(1n105,1xn,0y109)n,x,y(1\le n\le10^5,1\le x\le n,0\le y\le10^9)

接下来输入一行 nn 个整数,第 ii 个整数为 ai(0ai109)a_i(0\le a_i\le 10^9)

输出

输出一行一个整数代表答案。

样例

标准输入 复制文本
5 4 2
1 1 1 1 1
标准输出 复制文本
10
标准输入 复制文本
6 6 2
1 1 4 5 1 4
标准输出 复制文本
48
标准输入 复制文本
7 7 1000000000
1 4 3 7 5 8 1
标准输出 复制文本
999999840

提示

对样例一,有 s0=(1,1,1,1,1),s1=(1,2,3,4,5),s2=(1,3,6,10,15)s_0=(1,1,1,1,1),s_1=(1,2,3,4,5),s_2=(1,3,6,10,15),故 s2,4=10s_{2,4}=10

对样例二,有 s0=(1,1,4,5,1,4),s1=(1,2,6,11,12,16),s2=(1,3,9,20,32,48)s_0=(1,1,4,5,1,4),s_1=(1,2,6,11,12,16),s_2=(1,3,9,20,32,48),故 s2,6=48s_{2,6}=48

自主思考:如果扩展到 n107n\le 10^7 怎么做。

登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 72
通过 14