C. 区间次方和

    Type: Default 1000ms 256MiB

区间次方和

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

问题描述

给定一个长度为 nn 的整数数组 aa 以及 mm 每个查询包含三个整数 l,r,kl,r,k 表示询问 lrl∼r 之间所有元素的 kk 次方和。

请对每个查询输出一个答案,答案对 109+710^9 + 7 取模。

输入格式

第一行输入两个整数 n,mn,m 其含义如上所述。

第二行输入 nn 个整数 a1,a2ana_1,a_2 \ldots a_n

接下来 mm 行,每行输入三个整数 l,r,kl,r,k 表示一个查询。

输出格式

输出 mm 行,每行一个整数,表示查询的答案对 109+7 10^9+7 取模的结果。

样例输入

5 3
1 2 3 4 5
1 3 2
2 4 3
3 5 1

样例输出

14
99
12

限制与约定

对于20%20 \% 的数据,保证 $k=1 \ ,1 \le n \le 100 \ ,1 \le m \le 100 \ ,1 \le a_i \le 100 $

对于50%50 \% 的数据,保证 $ 1\le k \le 5 , 1 \le n \le 10^5 \ ,1 \le m \le 100 \ ,1 \le a_i \le 100$

另外对于10%的数据,保证$k=1 \ ,1 \le n \le 10^5 \ ,1 \le m \le 10^5 \ ,1 \le a_i \le 10^9 $

对于100%100 \% 的数据,保证 $ 1\le k \le 5 , 1 \le n \le 10^5 \ ,1 \le m \le 10^5 \ ,1 \le a_i \le 100 , l \le r \le n $

  • 时间限制: 1s1 s
  • 空间限制: 256MB256 MB