#include<bits/stdc++.h>
typedef long long ll;
#define endl '\n'
#define F first
#define S second
#define pb push_back
#define yes cout<<"YES\n"
#define no cout<<"NO\n"
#define all(x) x.begin(),x.end()
#define allr(x) x.rbegin(),x.rend()
#define error1(x) cerr<<#x<<" = "<<(x)<<endl
#define error2(a,b) cout<<"("<<#a<<", "<<#b<<") = ("<<(a)<<", "<<(b)<<")\n";
#define coutall(v) for(auto &it: v) cout<<it<<" "; cout<<endl;
#define _ASRafi__ ios::sync_with_stdio(false); cin.tie(0);
using namespace std;
void solve()
{
ll n, m, k, d, ans = LLONG_MAX;
cin >> n >> m >> k >> d;
vector<vector<ll>> v(n, vector<ll> (m));
for(auto &i: v) {
for(auto &j: i) cin >> j;
}
ll dp[m][2];
function<ll(int, bool, int)> rec = [&](int i, bool haveToPickSupport, int row) -> ll
{
if(i == m) return 0;
if(i == m - 1) return 1;
if(dp[i][haveToPickSupport] != -1) return dp[i][haveToPickSupport];
ll cost = 1 + v[row][i] + rec(i + 1, 0, row);
if(haveToPickSupport) return dp[i][haveToPickSupport] = cost;
for(int dist = 0; dist < d; dist++)
{
if(i + dist + 1 >= m) break;
// error2(i + dist + 1, rec(i + dist + 1, 1, row));
cost = min(cost, rec(i + dist + 1, 1, row));
}
// cout << i << " => " << cost << endl;
return dp[i][haveToPickSupport] = cost;
};
// memset(dp, -1, sizeof dp);
// cout << rec(0, 0, 0) << endl;
deque<ll> dq;
ll cost = 0;
for(int i = 0; i < n; i++)
{
memset(dp, -1, sizeof dp);
dq.pb(rec(0, 1, i));
// cout << i + 1 << " -->> " << dq.back() << endl;
cost += dq.back();
if(dq.size() == k)
{
ans = min(ans, cost);
cost -= dq.front();
dq.pop_front();
// cout << " =>> " << ans << endl;
}
}
cout << ans << endl;
return;
}
int32_t main()
{
_ASRafi__;
int tc = 1;
cin >> tc;
for (int t = 1; t <= tc; t++)
{
// cout << "Case " << t << ": ";
solve();
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdHlwZWRlZiBsb25nIGxvbmcgICBsbDsKI2RlZmluZSBlbmRsICAgICAgICAnXG4nCiNkZWZpbmUgRiAgICAgICAgICAgZmlyc3QKI2RlZmluZSBTICAgICAgICAgICBzZWNvbmQKI2RlZmluZSBwYiAgICAgICAgICBwdXNoX2JhY2sKI2RlZmluZSB5ZXMgICAgICAgICBjb3V0PDwiWUVTXG4iCiNkZWZpbmUgbm8gICAgICAgICAgY291dDw8Ik5PXG4iCiNkZWZpbmUgYWxsKHgpICAgICAgeC5iZWdpbigpLHguZW5kKCkKI2RlZmluZSBhbGxyKHgpICAgICB4LnJiZWdpbigpLHgucmVuZCgpCiNkZWZpbmUgZXJyb3IxKHgpICAgY2Vycjw8I3g8PCIgPSAiPDwoeCk8PGVuZGwKI2RlZmluZSBlcnJvcjIoYSxiKSBjb3V0PDwiKCI8PCNhPDwiLCAiPDwjYjw8IikgPSAoIjw8KGEpPDwiLCAiPDwoYik8PCIpXG4iOwojZGVmaW5lIGNvdXRhbGwodikgIGZvcihhdXRvICZpdDogdikgY291dDw8aXQ8PCIgIjsgY291dDw8ZW5kbDsKI2RlZmluZSBfQVNSYWZpX18gICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUoMCk7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHNvbHZlKCkKewogICAgbGwgbiwgbSwgaywgZCwgYW5zID0gTExPTkdfTUFYOwogICAgY2luID4+IG4gPj4gbSA+PiBrID4+IGQ7CiAgICB2ZWN0b3I8dmVjdG9yPGxsPj4gdihuLCB2ZWN0b3I8bGw+IChtKSk7CiAgICBmb3IoYXV0byAmaTogdikgewogICAgICAgIGZvcihhdXRvICZqOiBpKSBjaW4gPj4gajsKICAgIH0KICAgIGxsIGRwW21dWzJdOwogICAgZnVuY3Rpb248bGwoaW50LCBib29sLCBpbnQpPiByZWMgPSBbJl0oaW50IGksIGJvb2wgaGF2ZVRvUGlja1N1cHBvcnQsIGludCByb3cpIC0+IGxsCiAgICB7CiAgICAgICAgaWYoaSA9PSBtKSByZXR1cm4gMDsKICAgICAgICBpZihpID09IG0gLSAxKSByZXR1cm4gMTsKICAgICAgICBpZihkcFtpXVtoYXZlVG9QaWNrU3VwcG9ydF0gIT0gLTEpIHJldHVybiBkcFtpXVtoYXZlVG9QaWNrU3VwcG9ydF07CiAgICAgICAgbGwgY29zdCA9IDEgKyB2W3Jvd11baV0gKyByZWMoaSArIDEsIDAsIHJvdyk7CiAgICAgICAgaWYoaGF2ZVRvUGlja1N1cHBvcnQpIHJldHVybiBkcFtpXVtoYXZlVG9QaWNrU3VwcG9ydF0gPSBjb3N0OwogICAgICAgIGZvcihpbnQgZGlzdCA9IDA7IGRpc3QgPCBkOyBkaXN0KyspCiAgICAgICAgewogICAgICAgICAgICBpZihpICsgZGlzdCArIDEgPj0gbSkgYnJlYWs7CiAgICAgICAgICAgIC8vIGVycm9yMihpICsgZGlzdCArIDEsIHJlYyhpICsgZGlzdCArIDEsIDEsIHJvdykpOwogICAgICAgICAgICBjb3N0ID0gbWluKGNvc3QsIHJlYyhpICsgZGlzdCArIDEsIDEsIHJvdykpOwogICAgICAgIH0KICAgICAgICAvLyAgIGNvdXQgPDwgaSA8PCAiID0+ICIgPDwgY29zdCA8PCBlbmRsOwogICAgICAgIHJldHVybiBkcFtpXVtoYXZlVG9QaWNrU3VwcG9ydF0gPSBjb3N0OwogICAgfTsKICAgIC8vICBtZW1zZXQoZHAsIC0xLCBzaXplb2YgZHApOwogICAgLy8gIGNvdXQgPDwgcmVjKDAsIDAsIDApIDw8IGVuZGw7IAogICAgZGVxdWU8bGw+IGRxOwogICAgbGwgY29zdCA9IDA7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgIG1lbXNldChkcCwgLTEsIHNpemVvZiBkcCk7CiAgICAgICAgZHEucGIocmVjKDAsIDEsIGkpKTsKICAgICAgICAvLyBjb3V0IDw8IGkgKyAxIDw8ICIgLS0+PiAiIDw8IGRxLmJhY2soKSA8PCBlbmRsOwogICAgICAgIGNvc3QgKz0gZHEuYmFjaygpOwogICAgICAgIGlmKGRxLnNpemUoKSA9PSBrKSAKICAgICAgICB7CiAgICAgICAgICAgIGFucyA9IG1pbihhbnMsIGNvc3QpOwogICAgICAgICAgICBjb3N0IC09IGRxLmZyb250KCk7CiAgICAgICAgICAgIGRxLnBvcF9mcm9udCgpOwogICAgICAgICAgICAvLyBjb3V0IDw8ICIgPT4+ICIgPDwgYW5zIDw8IGVuZGw7CiAgICAgICAgfQogICAgfQogICAgY291dCA8PCBhbnMgPDwgZW5kbDsKICAgIHJldHVybjsKfQoKaW50MzJfdCBtYWluKCkKewogICAgX0FTUmFmaV9fOwogICAgaW50IHRjID0gMTsKICAgIGNpbiA+PiB0YzsKICAgIGZvciAoaW50IHQgPSAxOyB0IDw9IHRjOyB0KyspCiAgICB7CiAgICAgICAgLy8gY291dCA8PCAiQ2FzZSAiIDw8IHQgPDwgIjogIjsKICAgICAgICBzb2x2ZSgpOwogICAgfQogICAgcmV0dXJuIDA7Cn0=