#abc105d. [abc105_d]Candy Distribution

[abc105_d]Candy Distribution

問題文

NN 個の箱が左右一列に並んでおり、左から ii 番目の箱には AiA_i 個のお菓子が入っています。

あなたは、連続したいくつかの箱からお菓子を取り出して MM 人の子供たちに均等に配りたいと考えています。

そこで、以下を満たす組 (l,r)(l, r) の総数を求めてください。

  • l,rl, r はともに整数であり 1leqlleqrleqN1 \\leq l \\leq r \\leq N を満たす
  • Al+Al+1+...+ArA_l + A_{l+1} + ... + A_rMM の倍数である

制約

  • 入力は全て整数である
  • 1leqNleq1051 \\leq N \\leq 10^5
  • 2leqMleq1092 \\leq M \\leq 10^9
  • 1leqAileq1091 \\leq A_i \\leq 10^9

入力

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

NN MM A1A_1 A2A_2 ...... ANA_N

出力

条件を満たす組 (l,r)(l, r) の総数を出力せよ。

出力の際には、出力が 3232 ビットの整数型に収まらない可能性があることに注意せよ。


入力例 1

3 2
4 1 5

出力例 1

3

各組 (l,r)(l, r) に対する和 Al+Al+1+...+ArA_l + A_{l+1} + ... + A_r は次のとおりであり、このうち 33 つが 22 の倍数です。

  • (1,1)(1, 1) に対する和: 44
  • (1,2)(1, 2) に対する和: 55
  • (1,3)(1, 3) に対する和: 1010
  • (2,2)(2, 2) に対する和: 11
  • (2,3)(2, 3) に対する和: 66
  • (3,3)(3, 3) に対する和: 55

入力例 2

13 17
29 7 5 7 9 51 7 13 8 55 42 9 81

出力例 2

6

入力例 3

10 400000000
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000

出力例 3

25