#L5027. 「POI 2022/2023 R3」NWW

    ID: 4592 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>数据结构线段树数论大整数质因数分解单调栈

「POI 2022/2023 R3」NWW

题目描述

题目译自 XXX Olimpiada Informatyczna – III etap NWW

对于正整数序列 (b1,b2,,bk)(b_1, b_2, \ldots, b_k),我们用 NWW(b1,b2,,bk)\operatorname{NWW}(b_1, b_2, \ldots, b_k) 表示其最小公倍数,即最小的正整数,它是序列中每个数的倍数。此外,定义序列的 NWW\operatorname{NWW}-和,记为 NWWSUMA(b1,b2,,bk)\operatorname{NWWSUMA}(b_1, b_2, \ldots, b_k),为序列所有连续子段最小公倍数的总和:

[ \operatorname{NWWSUMA}(b_1, b_2, \ldots, b_k) = \sum_{i=1}^{k} \sum_{j=i}^{k} \operatorname{NWW}(b_i, b_{i+1}, \ldots, b_j). ]

给定一个正整数序列 (a1,a2,,an)(a_1, a_2, \ldots, a_n) 和正整数 MM,请回答 qq 个关于该序列的查询。每个查询形式为:给定序列中的编号 llrr,计算 NWWSUMA(al,al+1,,ar)\operatorname{NWWSUMA}(a_l, a_{l+1}, \ldots, a_r)。由于答案可能非常大,只需输出每个查询答案除以 MM 的余数。


输入格式

第一行包含三个整数 nn, qq, MM (1n1000001 \leq n \leq 100000, 1q3000001 \leq q \leq 300000, 2M1092 \leq M \leq 10^9),分别表示序列长度、查询数量和模数 MM

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n (1ai10000001 \leq a_i \leq 1000000),表示序列的元素。

接下来的 qq 行描述查询,第 ii 行包含两个整数 lil_i, rir_i (1lirin1 \leq l_i \leq r_i \leq n),表示查询 $\operatorname{NWWSUMA}(a_{l_i}, a_{l_i+1}, \ldots, a_{r_i})$ 的值。


输出格式

输出 qq 行,第 ii 行包含一个整数,表示 $\operatorname{NWWSUMA}(a_{l_i}, a_{l_i+1}, \ldots, a_{r_i})$ 除以 MM 的余数。


样例

输入

4 4 50
6 4 1 3
3 4
1 2
1 4
2 2

输出

7
22
19
4

第一个查询涉及子段 (1,3)(1, 3),其 NWW\operatorname{NWW}-和为:

[ \operatorname{NWWSUMA}(1, 3) = \operatorname{NWW}(1, 3) + \operatorname{NWW}(1) + \operatorname{NWW}(3) = 7. ]

第二个查询涉及子段 (6,4)(6, 4),其 NWWSUMA(6,4)=22\operatorname{NWWSUMA}(6, 4) = 22

第三个查询涉及整个序列,其 NWW\operatorname{NWW}-和为 6969,因 M=50M=50,输出 69mod50=1969 \bmod 50 = 19

第四个查询涉及子段 (4)(4),其 NWWSUMA(4)=4\operatorname{NWWSUMA}(4) = 4


附加样例

  • n=500n=500, q=300000q=300000, M=15625M=15625, ai=1000000a_i=1000000li,ril_i, r_i 随机,所有答案为 00
  • n=4n=4, q=1q=1, M=42M=42, ai=2a_i=2l1=1l_1=1, r1=nr_1=n,答案为 77
  • n=100000n=100000, q=1q=1, M=2M=2, ai=ia_i=il1=50000l_1=50000, r1=50010r_1=50010,答案为 11

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务编号 附加限制 分值
1 n,q500n, q \leq 500 12
2 n500n \leq 500 10
3 q=1q=1 32
4 n50000n \leq 50000, q100000q \leq 100000 27
5 无附加限制 19