#abc156f. [abc156_f]Modularness

[abc156_f]Modularness

問題文

長さ kk の数列 d0,d1,...,dk1d_0,d_1,...,d_{k - 1} があります。

以下のクエリ qq 個を順に処理してください。

  • ii 番目のクエリは 33 つの整数 ni,xi,min_i,x_i,m_i からなる。 長さ nin_i の数列 a0,a1,...,ani1a_0,a_1,...,a_{n_i - 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<ni1)j~(0 \\leq j < n_i - 1) の個数を出力する。

ここで 22 つの整数 y,z (z>0)y, z~(z > 0) について、(y textrmmod z)(y~\\textrm{mod}~z)yyzz で割った余りを表します。

制約

  • 入力は全て整数である。
  • 1leqk,qleq50001 \\leq k, q \\leq 5000
  • 0leqdileq1090 \\leq d_i \\leq 10^9
  • 2leqnileq1092 \\leq n_i \\leq 10^9
  • 0leqxileq1090 \\leq x_i \\leq 10^9
  • 2leqmileq1092 \\leq m_i \\leq 10^9

入力

入力は以下の形式で標準入力から与えられる。

kk qq d0d_0 d1d_1 ...... dk1d_{k - 1} n1n_1 x1x_1 m1m_1 n2n_2 x2x_2 m2m_2 :: nqn_q xqx_q mqm_q

出力

qq 行出力せよ。

ii 行目には、ii 番目のクエリに対する答えを出力せよ。


入力例 1

3 1
3 1 4
5 3 2

出力例 1

1

11 つ目のクエリについて、問題文で示した数列 {aja_j} は 3,6,7,11,143,6,7,11,14 になります。

  • (a0 textrmmod 2)>(a1 textrmmod 2)(a_0~\\textrm{mod}~2) > (a_1~\\textrm{mod}~2)
  • (a1 textrmmod 2)<(a2 textrmmod 2)(a_1~\\textrm{mod}~2) < (a_2~\\textrm{mod}~2)
  • (a2 textrmmod 2)=(a3 textrmmod 2)(a_2~\\textrm{mod}~2) = (a_3~\\textrm{mod}~2)
  • (a3 textrmmod 2)>(a4 textrmmod 2)(a_3~\\textrm{mod}~2) > (a_4~\\textrm{mod}~2)

であるため、このクエリに対する答えは 11 です。


入力例 2

7 3
27 18 28 18 28 46 1000000000
1000000000 1 7
1000000000 2 10
1000000000 3 12

出力例 2

224489796
214285714
559523809