#R2024A0305. 幂塔

幂塔

幂塔

时间限制:1s1s

空间限制:256MB256MB

题目描述

给定一个长度为nn的数列{wi}\{w_i\},定义区间[l,r][l,r]的价值为wlwl+1wl+2...wr{{{{w_l}^{w_{l+1}}}^{w_{l+2}}}^{...}}^{w_r},给出qq次询问,每次询问给出l,rl,r,你需要回答区间[l,r][l,r]的价值。答案对mm取模。

初始设val为一 每次取出区间末尾的数x ,val变为 xval x^{val} 直至取完区间内所有数,最终val即为区间价值。

数据格式

输入

第一行包含三个整数 n,m,qn,m,q,其中 qq 表示询问数量。

第二行包含 nn个整数 wiw_i

接下来 qq行每行给出 lkl_krkr_k

输出

输出 qq 行整数表示每次询问的答案。

样例

输入1

10 1000000000 10
1 1 2 2 3 3 4 4 5 5
1 1
1 2
2 3
2 4
3 5
3 6
4 7
4 8
5 9
5 10

输出1

1
1
1
1
256
816787456
41579008
215851008
814963203
581363203

数据范围及约定

1n105,1m109,1w109,1q1051≤n≤10^5,1≤m≤10^9,1≤w≤10^9,1≤q≤10^5