时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 70 M,其他语言140 M
64bit IO Format: %lld
题目描述
定义一个长度为

的数列

的“简单函数”(下标从

开始):
显然给定一个数列对其求值太

了,现在我们考虑多次询问,每次询问给定一个区间

要求你求出
)
的值:
输入描述:
第一行两个整数
分别为数列
的长度和询问数。
接下来一行,
个整数,表示
。
接下来

行,每行两个整数

,为询问区间
满足

。
输出描述:
行,每行一个整数,为第
个询问的答案对
取模。
示例1
输入
复制
10 10
7 7 3 7 6 4 1 4 5 6
5 6
8 9
5 7
7 7
4 8
2 5
1 8
1 8
1 10
3 5
输出
复制
16
14
28
1
103
81
371
371
639
39