#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
ll n, k;
cin >> n >> k;
vector<ll> a(n + 1), prefix(n + 1);
for (ll i = 1; i <= n; i++){
cin >> a[i];
prefix[i] = prefix[i-1] + a[i];
}
unordered_map<ll, ll> freq;
freq[0] = 1; ll c = 0;
for (ll j = 1; j <= n; j++) {
ll y = ( (prefix[j] % k - j % k + k) % k );
if(freq.find(y)!=freq.end()){
c = c + freq[y];
}
freq[y]++;
}
cout << c << "\n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwogCmludCBtYWluKCkgewogICAgbGwgbiwgazsKICAgIGNpbiA+PiBuID4+IGs7CiAgICB2ZWN0b3I8bGw+IGEobiArIDEpLCBwcmVmaXgobiArIDEpOwogICAgZm9yIChsbCBpID0gMTsgaSA8PSBuOyBpKyspewogICAgCWNpbiA+PiBhW2ldOwogICAgCXByZWZpeFtpXSA9IHByZWZpeFtpLTFdICsgYVtpXTsKICAgIH0KIAogICAgdW5vcmRlcmVkX21hcDxsbCwgbGw+IGZyZXE7CiAgICBmcmVxWzBdID0gMTsgbGwgYyA9IDA7CiAKICAgIGZvciAobGwgaiA9IDE7IGogPD0gbjsgaisrKSB7CiAgICAgICAgbGwgeSA9ICggKHByZWZpeFtqXSAlIGsgLSBqICUgayArIGspICUgayApOwogICAgICAgIGlmKGZyZXEuZmluZCh5KSE9ZnJlcS5lbmQoKSl7CgkJCWMgPSBjICsgZnJlcVt5XTsKCQl9CiAKICAgICAgICBmcmVxW3ldKys7CiAgICB9CiAgICBjb3V0IDw8IGMgPDwgIlxuIjsKfQ==