#include<bits/stdc++.h>
using namespace std;
void solve() {
int n; long long k;
cin>>n>>k;
vector<long long> h(n+1);
unordered_map<long long,long long> mp;
mp[0]=1;
long long sum=0,ans=0;
for(int i=1;i<=n;i++) {
long long x;
cin>>x;
sum+=x;
if(i>=k)
mp[h[i-k]]--;
long long y=((sum-i)%k+k)%k;
ans+=mp[y];
mp[y]++;
h[i]=y;
}
cout<<ans<<'\n';
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t; cin>>t;
while(t--) solve();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgc29sdmUoKSB7CiAgICBpbnQgbjsgbG9uZyBsb25nIGs7CiAgICBjaW4+Pm4+Pms7CgogICAgdmVjdG9yPGxvbmcgbG9uZz4gaChuKzEpOwogICAgdW5vcmRlcmVkX21hcDxsb25nIGxvbmcsbG9uZyBsb25nPiBtcDsKCiAgICBtcFswXT0xOwoKICAgIGxvbmcgbG9uZyBzdW09MCxhbnM9MDsKCiAgICBmb3IoaW50IGk9MTtpPD1uO2krKykgewogICAgICAgIGxvbmcgbG9uZyB4OwogICAgICAgIGNpbj4+eDsKICAgICAgICBzdW0rPXg7CgogICAgICAgIGlmKGk+PWspCiAgICAgICAgICAgIG1wW2hbaS1rXV0tLTsKCiAgICAgICAgbG9uZyBsb25nIHk9KChzdW0taSklaytrKSVrOwoKICAgICAgICBhbnMrPW1wW3ldOwogICAgICAgIG1wW3ldKys7CiAgICAgICAgaFtpXT15OwogICAgfQoKICAgIGNvdXQ8PGFuczw8J1xuJzsKfQoKaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CgogICAgaW50IHQ7IGNpbj4+dDsKICAgIHdoaWxlKHQtLSkgc29sdmUoKTsKfQ==