#include<bits/stdc++.h>
using namespace std;
using i64 = long long;
void solve() {
int n, k; cin >> n >> k;
vector<int> A(n);
for (auto& a : A) cin >> a;
auto pref = A, suf = A;
for (int i = 1; i < n; i++) {
pref[i] = min(pref[i], pref[i - 1]);
}
for (int i = n - 2; i >= 0; i--) {
suf[i] = min(suf[i], suf[i + 1]);
}
i64 sum = 0, ans = 1e18;
multiset<int> st;
for (int i = 0, j = i - k + 1; i < n; i++, j++) {
sum += A[i];
st.insert(A[i]);
if (j >= 0) {
ans = min(ans, sum);
if (j - 1 >= 0) {
ans = min(ans, sum - *st.rbegin() + pref[j - 1]);
}
if (i + 1 < n) {
ans = min(ans, sum - *st.rbegin() + suf[i + 1]);
}
sum -= A[j];
st.erase(st.find(A[j]));
}
}
cout << ans << '\n';
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int tt = 1;
cin >> tt;
for(int t = 1; t <= tt; t++) {
solve();
}
}