// https://szkopul.edu.pl/problemset/problem/0QusZwo2JAyvhPj1JIKRc8H7/site/?key=statement
#include <iostream>
constexpr int sizik = 1024;
int mapa[sizik][sizik];
int _ans[sizik][sizik];
int n, r;
int index(int a) {
return std::min(std::max(0, a), n);
}
int main() {
std::ios_base::sync_with_stdio(0);
std::cin.tie(0);
std::cout.tie(0);
std::cin >> n >> r;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
int a;
std::cin >> a;
mapa[i][j] = a;
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
mapa[i][j] = mapa[i][j] + mapa[i - 1][j] + mapa[i][j - 1] - mapa[i - 1][j - 1];
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
int sum = mapa[index(i + r)][index(j + r)] - mapa[index(i - r - 1)][index(j + r)] - mapa[index(i + r)][index(j - r - 1)] +
mapa[index(i - r - 1)][index(j - r - 1)];
_ans[i][j] = sum;
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
std::cout << _ans[i][j] << " ";
}
std::cout << '\n';
}
return 0;
}