#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
const int N = 1e3 + 5;
int n, k;
int a[N][N];
ll sum[N][N];
ll getSum(int x1, int y1, int x2, int y2) {
return sum[x2][y2] - sum[x1 - 1][y2] - sum[x2][y1 - 1] + sum[x1 - 1][y1 - 1];
}
int main() {
ios::sync_with_stdio(0); cin.tie(0);
cin >> n >> k;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) cin >> a[i][j];
}
for (int x = 1; x <= n; x++) {
for (int y = 1; y <= n; y++) {
sum[x][y] = sum[x - 1][y] + sum[x][y - 1] - sum[x - 1][y - 1] + a[x][y];
}
}
ll ans = 0;
for (int x1 = 1; x1 + k - 1 <= n; x1++) {
for (int y1 = 1; y1 + k - 1 <= n; y1++) {
int x2 = x1 + k - 1, y2 = y1 + k - 1;
ans = max(ans, getSum(x1, y1, x2, y2));
}
}
cout << ans << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAp1c2luZyBuYW1lc3BhY2Ugc3RkOyAgCgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsgIAp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IGlpOyAgCgpjb25zdCBpbnQgSU5GID0gMWU5OyAgCmNvbnN0IGxsIExJTkYgPSAxZTE4OyAgCgpjb25zdCBpbnQgTiA9IDFlMyArIDU7IAoKaW50IG4sIGs7ICAKaW50IGFbTl1bTl07ICAKbGwgc3VtW05dW05dOwoKbGwgZ2V0U3VtKGludCB4MSwgaW50IHkxLCBpbnQgeDIsIGludCB5MikgewoJcmV0dXJuIHN1bVt4Ml1beTJdIC0gc3VtW3gxIC0gMV1beTJdIC0gc3VtW3gyXVt5MSAtIDFdICsgc3VtW3gxIC0gMV1beTEgLSAxXTsKfQoKaW50IG1haW4oKSB7Cglpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgIAkKCWNpbiA+PiBuID4+IGs7ICAKCglmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKCQlmb3IgKGludCBqID0gMTsgaiA8PSBuOyBqKyspIGNpbiA+PiBhW2ldW2pdOyAKCX0gCgoJZm9yIChpbnQgeCA9IDE7IHggPD0gbjsgeCsrKSB7CgkJZm9yIChpbnQgeSA9IDE7IHkgPD0gbjsgeSsrKSB7CgkJCXN1bVt4XVt5XSA9IHN1bVt4IC0gMV1beV0gKyBzdW1beF1beSAtIDFdIC0gc3VtW3ggLSAxXVt5IC0gMV0gKyBhW3hdW3ldOyAKCQl9Cgl9CgoJbGwgYW5zID0gMDsgIAoJZm9yIChpbnQgeDEgPSAxOyB4MSArIGsgLSAxIDw9IG47IHgxKyspIHsKCQlmb3IgKGludCB5MSA9IDE7IHkxICsgayAtIDEgPD0gbjsgeTErKykgewoJCQlpbnQgeDIgPSB4MSArIGsgLSAxLCB5MiA9IHkxICsgayAtIDE7ICAgCgkJCWFucyA9IG1heChhbnMsIGdldFN1bSh4MSwgeTEsIHgyLCB5MikpOyAKCQl9Cgl9CgoJY291dCA8PCBhbnMgPDwgJ1xuJzsgCn0K