#include <bits/stdc++.h>
using namespace std;
int main()
{
int test;
scanf("%d",&test);
while(test>0)
{
int n,d,i,j;
scanf("%d%d",&n,&d);
long long sum=0,average=0,cost=0;
long long arr[n];
for(i=0;i<n;i++)
{
cin>>arr[i];
sum = sum + arr[i];
}
average = sum / n;
for(i=0;i<n-d;i++)
{
if((arr[i]<average)&&(average-arr[i]>arr[i+d]))
{
int required = average - arr[i] - arr[i+d];
cost = cost + abs(average - arr[i]);
arr[i]= average;
arr[i+d]=0;
for(j=i+2*d;j<n;j+=d)
{
if(arr[j]<required)
{
cost = cost + arr[j];
required = required - arr[j];
arr[j]=0;
}
else
{
cost = cost + required;
arr[j] = arr[j] - required ;
break;
}
}
if(j>=n)
break;
}
else
{
cost = cost + abs(average - arr[i]);
arr[i+d] = arr[i+d] - average + arr[i];
arr[i] = average;
}
}
for(i=0;i<n;i++)
{
if(arr[i]!=average)
break;
}
if(i==n)
cout<<cost<<"\n";
else
cout<<"-1"<<"\n";
test -- ;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBtYWluKCkgCnsKICBpbnQgdGVzdDsKICBzY2FuZigiJWQiLCZ0ZXN0KTsKICB3aGlsZSh0ZXN0PjApCiAgewogICAgaW50IG4sZCxpLGo7CiAgICBzY2FuZigiJWQlZCIsJm4sJmQpOwogICAgbG9uZyBsb25nIHN1bT0wLGF2ZXJhZ2U9MCxjb3N0PTA7CiAgICBsb25nIGxvbmcgYXJyW25dOwogICAgZm9yKGk9MDtpPG47aSsrKQogICAgewogICAgICBjaW4+PmFycltpXTsKICAgICAgc3VtID0gc3VtICsgYXJyW2ldOwogICAgfQogICAgYXZlcmFnZSA9IHN1bSAvIG47CiAgICBmb3IoaT0wO2k8bi1kO2krKykKICAgIHsKICAgICAgaWYoKGFycltpXTxhdmVyYWdlKSYmKGF2ZXJhZ2UtYXJyW2ldPmFycltpK2RdKSkKICAgICAgewogICAgICAgIGludCByZXF1aXJlZCA9IGF2ZXJhZ2UgLSBhcnJbaV0gLSBhcnJbaStkXTsKICAgICAgICBjb3N0ID0gY29zdCArIGFicyhhdmVyYWdlIC0gYXJyW2ldKTsKICAgICAgICBhcnJbaV09IGF2ZXJhZ2U7CiAgICAgICAgYXJyW2krZF09MDsKICAgICAgICBmb3Ioaj1pKzIqZDtqPG47ais9ZCkKICAgICAgICB7CiAgICAgICAgICBpZihhcnJbal08cmVxdWlyZWQpCiAgICAgICAgICB7CiAgICAgICAgICAgIGNvc3QgPSBjb3N0ICsgYXJyW2pdOwogICAgICAgICAgICByZXF1aXJlZCA9IHJlcXVpcmVkIC0gYXJyW2pdOwogICAgICAgICAgICBhcnJbal09MDsKICAgICAgICAgIH0gCiAgICAgICAgICBlbHNlCiAgICAgICAgICB7CiAgICAgICAgICAgIGNvc3QgPSBjb3N0ICsgcmVxdWlyZWQ7CiAgICAgICAgICAgIGFycltqXSA9IGFycltqXSAtIHJlcXVpcmVkIDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKGo+PW4pIAogICAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgZWxzZQogICAgICB7CiAgICAgICAgY29zdCA9IGNvc3QgKyBhYnMoYXZlcmFnZSAtIGFycltpXSk7CiAgICAgICAgYXJyW2krZF0gPSBhcnJbaStkXSAtIGF2ZXJhZ2UgKyBhcnJbaV07CiAgICAgICAgYXJyW2ldID0gYXZlcmFnZTsgIAogICAgICB9CiAgICB9CiAgICBmb3IoaT0wO2k8bjtpKyspCiAgICB7CiAgICAgIGlmKGFycltpXSE9YXZlcmFnZSkKICAgICAgICBicmVhazsKICAgIH0KICAgIGlmKGk9PW4pCiAgICAgIGNvdXQ8PGNvc3Q8PCJcbiI7CiAgICBlbHNlCiAgICAgIGNvdXQ8PCItMSI8PCJcbiI7CiAgICB0ZXN0IC0tIDsKICB9CiAgcmV0dXJuIDA7Cn0=