#include <bits/stdc++.h>
using namespace std;
int main() {
int n,k;
cin>>n>>k;
vector<int> numbers(n);
for(auto& number: numbers){
cin>>number;
}
int answer = 0;
unordered_map<int,int> prefixSum;
prefixSum[0] = 1;
int sum = 0;
for(int i=0; i<n; i++){
sum += numbers[i];
if(prefixSum.find((sum%k - i%k - 1 + k)%k) != prefixSum.end()){
answer+=prefixSum[(sum%k-i%k-1+k)%k];
}
prefixSum[(sum%k-i%k-1+k)%k]++;
}
cout << answer;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBuLGs7CgljaW4+Pm4+Pms7CgkKCXZlY3RvcjxpbnQ+IG51bWJlcnMobik7CgkKCWZvcihhdXRvJiBudW1iZXI6IG51bWJlcnMpewoJCWNpbj4+bnVtYmVyOwoJfQoJCglpbnQgYW5zd2VyID0gMDsKCQoJdW5vcmRlcmVkX21hcDxpbnQsaW50PiBwcmVmaXhTdW07CgkKCXByZWZpeFN1bVswXSA9IDE7CgkKCWludCBzdW0gPSAwOwoJCgkKCWZvcihpbnQgaT0wOyBpPG47IGkrKyl7CgkJc3VtICs9IG51bWJlcnNbaV07CgkJCgkJCgkJaWYocHJlZml4U3VtLmZpbmQoKHN1bSVrIC0gaSVrIC0gMSArIGspJWspICE9IHByZWZpeFN1bS5lbmQoKSl7CgkJCWFuc3dlcis9cHJlZml4U3VtWyhzdW0lay1pJWstMStrKSVrXTsKCQl9CgkJCgkJcHJlZml4U3VtWyhzdW0lay1pJWstMStrKSVrXSsrOwoJfQoJCgljb3V0IDw8IGFuc3dlcjsKCQoJcmV0dXJuIDA7Cn0=