問題文
長さ k の数列 d0,d1,...,dk−1 があります。
以下のクエリ q 個を順に処理してください。
- i 番目のクエリは 3 つの整数 ni,xi,mi からなる。 長さ ni の数列 a0,a1,...,ani−1 を、 \[ \begin{aligned} a_j = \begin{cases} x_i & ( j = 0 ) \\ a_{j - 1} + d_{(j - 1)~\textrm{mod}~k} & ( 0 < j \leq n_i - 1 ) \end{cases}\end{aligned} \] と定める。 $(a_j~\\textrm{mod}~m_i) < (a_{j + 1}~\\textrm{mod}~m_i)$ であるような、j (0leqj<ni−1) の個数を出力する。
ここで 2 つの整数 y,z (z>0) について、(y textrmmod z) は y を z で割った余りを表します。
制約
- 入力は全て整数である。
- 1leqk,qleq5000
- 0leqdileq109
- 2leqnileq109
- 0leqxileq109
- 2leqmileq109
入力
入力は以下の形式で標準入力から与えられる。
k q
d0 d1 ... dk−1
n1 x1 m1
n2 x2 m2
:
nq xq mq
出力
q 行出力せよ。
i 行目には、i 番目のクエリに対する答えを出力せよ。
入力例 1
3 1
3 1 4
5 3 2
出力例 1
1
1 つ目のクエリについて、問題文で示した数列 {aj} は 3,6,7,11,14 になります。
- (a0 textrmmod 2)>(a1 textrmmod 2)
- (a1 textrmmod 2)<(a2 textrmmod 2)
- (a2 textrmmod 2)=(a3 textrmmod 2)
- (a3 textrmmod 2)>(a4 textrmmod 2)
であるため、このクエリに対する答えは 1 です。
入力例 2
7 3
27 18 28 18 28 46 1000000000
1000000000 1 7
1000000000 2 10
1000000000 3 12
出力例 2
224489796
214285714
559523809