#CT00009. Đoạn chia hết (Divisible Subarrays)

Đoạn chia hết (Divisible Subarrays)

Đoạn chia hết (Divisible Subarrays)

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

Đề bài

Cho dãy gồm NN số nguyên

A1,A2,…,ANA_1,A_2,\ldots,A_N

và một số nguyên dương KK.

Một đoạn con liên tiếp [L,R][L,R] với 1≤L≤R≤N1 \le L \le R \le N được gọi là đoạn chia hết nếu tổng các phần tử trên đoạn đó chia hết cho KK, tức là

AL+AL+1+⋯+AR≡0(modK).A_L+A_{L+1}+\cdots+A_R \equiv 0 \pmod K.

Hãy đếm số cặp chỉ số (L,R)(L,R) thỏa mãn điều kiện trên.

Input

  • Dòng đầu chứa hai số nguyên dương NN và KK, cách nhau bởi một dấu cách.
  • Dòng thứ hai chứa NN số nguyên A1,A2,…,ANA_1,A_2,\ldots,A_N, các số cách nhau bởi dấu cách.

Output

In ra một số nguyên duy nhất là số đoạn con liên tiếp có tổng chia hết cho KK.

Subtask

  • Subtask 1 — 10%: 1≤N≤2⋅1051 \le N \le 2\cdot10^5; K=1K=1; ∣Ai∣≤109|A_i| \le 10^9.
  • Subtask 2 — 15%: 1≤N≤3001 \le N \le 300; 1≤K≤2⋅1051 \le K \le 2\cdot10^5; ∣Ai∣≤109|A_i| \le 10^9.
  • Subtask 3 — 25%: 1≤N≤50001 \le N \le 5000; 1≤K≤2⋅1051 \le K \le 2\cdot10^5; ∣Ai∣≤109|A_i| \le 10^9.
  • Subtask 4 — 50%: 1≤N≤2⋅1051 \le N \le 2\cdot10^5; 1≤K≤2⋅1051 \le K \le 2\cdot10^5; ∣Ai∣≤109|A_i| \le 10^9.

Ví dụ

Input

5 3
1 2 3 4 2

Output

7

Giải thích

Có 77 đoạn con có tổng chia hết cho 33:

  • [1,2][1,2]: 1+2=31+2=3;
  • [1,3][1,3]: 1+2+3=61+2+3=6;
  • [1,5][1,5]: 1+2+3+4+2=121+2+3+4+2=12;
  • [2,4][2,4]: 2+3+4=92+3+4=9;
  • [3,3][3,3]: 33;
  • [3,5][3,5]: 3+4+2=93+4+2=9;
  • [4,5][4,5]: 4+2=64+2=6.

Vì vậy kết quả cần in ra là 77.