#PS0000012. Phân phát kẹo (Candy Distribution)

Phân phát kẹo (Candy Distribution)

Phân phát kẹo (Candy Distribution)

Nguồn: AtCoder

Phiên bản: Phước Hưng OJ Extended

Đề bài

Trong NN ngày liên tiếp, ngày thứ ii có AiA_i viên kẹo được phát.

Ta chọn một đoạn ngày liên tiếp từ ngày ll đến ngày rr. Tổng số kẹo trong đoạn đó có thể chia đều cho MM người nếu và chỉ nếu tổng này chia hết cho MM.

Hãy đếm số cặp (l,r)(l,r) với 1≤l≤r≤N1\le l\le r\le N sao cho

Al+Al+1+⋯+ArA_l+A_{l+1}+\cdots+A_r

chia hết cho MM.

Input

  • Dòng đầu chứa hai số nguyên N,MN,M.
  • Dòng thứ hai chứa NN số nguyên A1,A2,…,ANA_1,A_2,\ldots,A_N.

Output

In số đoạn ngày liên tiếp có tổng số kẹo chia hết cho MM.

Subtask

Điều kiện chung đã đối chiếu với nguồn:

  • 1≤N≤1051\le N\le10^5

  • 2≤M≤1092\le M\le10^9

  • 1≤Ai≤1091\le A_i\le10^9

  • Subtask 1 — 20%: N≤40N\le40

  • Subtask 2 — 30%: N≤3000N\le3000.

  • Subtask 3 — 50%: không có điều kiện bổ sung ngoài các điều kiện chung ở trên.

Ví dụ

Input

3 2
4 1 5

Output

3

Giải thích

Với M=2M=2 và dãy

[4,1,5],[4,1,5],

ba đoạn có tổng chia hết cho 22 là:

  • [1,1][1,1]: tổng 44;
  • [2,3][2,3]: tổng 1+5=61+5=6;
  • [1,3][1,3]: tổng 4+1+5=104+1+5=10.

Do đó kết quả là 33.