Anxdada提了一个问题, 他想考考fold:
给出一个长度为n(1≤n≤1000)的数组a(下标从1开始), Anxdada有q(1≤q≤1000)个询问, 对于每次询问: 他想知道数组a中下标在区间[l,r]中所有数字的乘积对固定数字p(1≤p≤1000000000)取余后的结果是多少?
由于这个问题太难了, fold回答不上来.
所以Anxdada简化了一下问题: 保证这次询问的区间[l,r]相比上一次询问(如果存在)的区间[l',r']都有1≤l'≤l≤n 且 1≤r'≤r≤n
这个问题依然很难, 你能帮帮fold解决这个问题吗?
第一行有2个整数n(1≤n≤1000)和p(1≤p≤1000000000), 含义如题面所述
第二行包含n个整数代表数组a中的元素(0≤a[i]≤1000000000)
第三行包含一个整数q(1≤q≤1000), 代表询问的个数
接下来q行, 每一行包含2个整数li, ri(1≤li≤ri≤n), 代表Anxdada的询问区间是[li, ri]
对于任意的1<i≤q, 都满足: 1≤li-1≤li≤n 且 1≤ri-1≤ri≤n
输出q行, 每一行一个非负整数表示询问的答案
3 7 1 2 3 2 1 2 2 3
2 6