#2014. 小奇的数列

小奇的数列

题目描述

给定一个长度为n\red{n}的数列,以及m\red{m}次询问,每次给出三个数l\red{l,}r\red{r}P\red{P,}询问 (a[l\red{(a[l}']+a[l\red{] + a[l}'+1]+...+a[r\red{+1] + ... + a[r}'])modP\red{]) mod P}的最小值。 其中l<=l\red{l <= l}' <=r\red{<= r}' <=r\red{<= r}

即模意义下的区间子串和最小值。

输入格式

第一行包含两个正整数n\red{n}m\red{m,}表示数列的长度和询问的个数。

第二行为n\red{n}个整数,为a[1]..a[n]\red{a[1]..a[n]}

接下来m\red{m}行,每行三个数l\red{l,}r\red{r}P\red{P,}代表一次询问。

输出格式

对于每次询问,输出一行一个整数表示要求的结果

样例

输入样例

4 2
8 15 9 9
1 3 10
1 4 17

输出样例

2
1

提示

对于20%\red{20\%}的数据 n<=100\red{n<=100,}m<=100\red{m<=100,}p<=200\red{p<=200}

对于40%\red{40\%}的数据 n<=200\red{n<=200,}m<=1000\red{m<=1000,}p<=500\red{p<=500}

对于70%\red{70\%}的数据 n<=100000\red{n<=100000,}m<=10000\red{m<=10000,}p<=200\red{p<=200}

对于100%\red{100\%}的数据 n<=500000\red{n<=500000,}m<=10000\red{m<=10000,}p<=500\red{p<=500,}1<=a[i]<=109\red{1<=a[i]<=10^9}