#include <bits/stdc++.h>
using namespace std;
void solve() {
int n, d;
cin >> n >> d;
vector<long long> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
vector<long long> a_new(3 * n);
for (int i = 0; i < 3 * n; i++) {
a_new[i] = a[i % n];
}
vector<long long> P(3 * n + 1, 0);
for (int i = 0; i < 3 * n; i++) {
P[i + 1] = P[i] + a_new[i];
}
long long max_total_happiness = 0;
for (int i = 0; i < n; i++) {
int center = n + i;
long long window_sum = P[center + d + 1] - P[center - d];
long long C_i = (2LL * d + 1) * a[i] - window_sum;
if (C_i > 0) {
max_total_happiness += C_i;
}
}
cout << max_total_happiness << "\n";
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t;
if (cin >> t) {
while (t--) {
solve();
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZvaWQgc29sdmUoKSB7CiAgICBpbnQgbiwgZDsKICAgIGNpbiA+PiBuID4+IGQ7CiAgICB2ZWN0b3I8bG9uZyBsb25nPiBhKG4pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgIH0KICAgIHZlY3Rvcjxsb25nIGxvbmc+IGFfbmV3KDMgKiBuKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMyAqIG47IGkrKykgewogICAgICAgIGFfbmV3W2ldID0gYVtpICUgbl07CiAgICB9CiAgICB2ZWN0b3I8bG9uZyBsb25nPiBQKDMgKiBuICsgMSwgMCk7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IDMgKiBuOyBpKyspIHsKICAgICAgICBQW2kgKyAxXSA9IFBbaV0gKyBhX25ld1tpXTsKICAgIH0KICAgIGxvbmcgbG9uZyBtYXhfdG90YWxfaGFwcGluZXNzID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgaW50IGNlbnRlciA9IG4gKyBpOwogICAgICAgIGxvbmcgbG9uZyB3aW5kb3dfc3VtID0gUFtjZW50ZXIgKyBkICsgMV0gLSBQW2NlbnRlciAtIGRdOwogICAgICAgIGxvbmcgbG9uZyBDX2kgPSAoMkxMICogZCArIDEpICogYVtpXSAtIHdpbmRvd19zdW07CiAgICAgICAgaWYgKENfaSA+IDApIHsKICAgICAgICAgICAgbWF4X3RvdGFsX2hhcHBpbmVzcyArPSBDX2k7CiAgICAgICAgfQogICAgfQogICAgY291dCA8PCBtYXhfdG90YWxfaGFwcGluZXNzIDw8ICJcbiI7Cn0KaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICBpbnQgdDsKICAgIGlmIChjaW4gPj4gdCkgewogICAgICAgIHdoaWxlICh0LS0pIHsKICAgICAgICAgICAgc29sdmUoKTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gMDsKfQ==