#include <bits/stdc++.h>
using namespace std;

int main(){
	int N,K;
	cin >> N >> K;
	vector<int> A(N);
	for(auto &i:A)cin >> i;
	vector<long long> S(N+1,0);
	for(int i=0;i<N;i++)S[i+1]=(S[i]+(A[i]-1))%K;
	
	long long ans=0;
	map<long long,vector<int>> m;
	
	for(int i=0;i<N+1;i++){
		m[S[i]].push_back(i);
	}
	
	for(auto p:m){
		auto v=p.second;
		for(int i=0;i<v.size();i++){
			ans+=(int)(lower_bound(v.begin(),v.end(),v[i]+K)-lower_bound(v.begin(),v.end(),v[i]))-1;
		}
	}
	cout << ans << endl;
	return 0;
}