#include <iostream>
using namespace std;
int map[502][502];
int n, m;
int one1(int y,int x) {
int sum = 0;
if (y + 3 > n-1) {
return -1;
}
for (int i = 0; i < 4; i++) {
sum += map[y + i][x];
}
return sum;
}
int one2(int y, int x) {
int sum = 0;
if (x + 3 > m - 1) {
return -1;
}
for (int i = 0; i < 4; i++) {
sum += map[y][x + i];
}
return sum;
}
int two(int y, int x) {
int sum = 0;
if (x + 1 > m - 1 || y + 1 > n - 1) {
return -1;
}
sum += map[y][x];
sum += map[y + 1][x];
sum += map[y][x + 1];
sum += map[y + 1][x + 1];
return sum;
}
int three1(int y, int x) {
int sum = 0;
if (y + 2 > n - 1 || x + 1 > m - 1) {
return -1;
}
sum += map[y][x];
sum += map[y + 1][x];
sum += map[y + 2][x];
sum += map[y + 2][x + 1];
return sum;
}
int three2(int y, int x) {
int sum = 0;
if (y + 2 > n - 1 || x - 1 < 0) {
return -1;
}
sum += map[y][x];
sum += map[y + 1][x];
sum += map[y + 2][x];
sum += map[y + 2][x - 1];
return sum;
}
int three3(int y, int x) {
int sum = 0;
if (y + 1 > n - 1 || x + 2 > m - 1) {
return -1;
}
sum += map[y][x];
sum += map[y + 1][x];
sum += map[y + 1][x + 1];
sum += map[y + 1][x + 2];
return sum;
}
int three4(int y, int x) {
int sum = 0;
if (y + 1 > n - 1 || x - 2 < 0) {
return -1;
}
sum += map[y][x];
sum += map[y + 1][x];
sum += map[y + 1][x - 1];
sum += map[y + 1][x - 2];
return sum;
}
int three5(int y, int x) {
int sum = 0;
if (y + 1 > n - 1 || x + 2 > m-1) {
return -1;
}
sum += map[y + 1][x];
sum += map[y][x];
sum += map[y][x + 1];
sum += map[y][x + 2];
return sum;
}
int three6(int y, int x) {
int sum = 0;
if (y + 1 > n - 1 || x + 2 > m - 1) {
return -1;
}
sum += map[y + 1][x + 2];
sum += map[y][x];
sum += map[y][x + 1];
sum += map[y][x + 2];
return sum;
}
int three7(int y, int x) {
int sum = 0;
if (y + 2 > n - 1 || x + 1 > m - 1) {
return -1;
}
sum += map[y][x];
sum += map[y + 1][x];
sum += map[y + 2][x];
sum += map[y][x + 1];
return sum;
}
int three8(int y, int x) {
int sum = 0;
if (y + 2 > n - 1 || x + 1 > m - 1) {
return -1;
}
sum += map[y][x];
sum += map[y][x + 1];
sum += map[y + 1][x + 1];
sum += map[y + 2][x + 1];
return sum;
}
int four1(int y, int x) {
int sum = 0;
if (y + 2 > n - 1 || x + 1 > m - 1) {
return -1;
}
sum += map[y][x];
sum += map[y + 1][x];
sum += map[y + 1][x + 1];
sum += map[y + 2][x + 1];
}
int four2(int y, int x) {
int sum = 0;
if (y + 2 > n - 1 || x - 1 < 0) {
return -1;
}
sum += map[y][x];
sum += map[y + 1][x];
sum += map[y + 1][x - 1];
sum += map[y + 2][x - 1];
return sum;
}
int four3(int y, int x) {
int sum = 0;
if (y + 1 > n - 1 || x - 1 < 0 || x+1>m-1) {
return -1;
}
sum += map[y][x];
sum += map[y][x + 1];
sum += map[y + 1][x];
sum += map[y + 1][x - 1];
return sum;
}
int four4(int y, int x) {
int sum = 0;
if (y + 1 > n - 1 || x + 2 > m - 1) {
return -1;
}
sum += map[y][x];
sum += map[y][x + 1];
sum += map[y + 1][x + 1];
sum += map[y + 1][x + 2];
return sum;
}
int five1(int y, int x) {
int sum = 0;
if (y + 1 > n - 1 || x + 1 > m - 1 || x - 1 < 0) {
return -1;
}
sum += map[y][x];
sum += map[y + 1][x];
sum += map[y + 1][x - 1];
sum += map[y + 1][x + 1];
return sum;
}
int five2(int y, int x) {
int sum = 0;
if (y + 2 > n - 1 || x - 1 < 0) {
return -1;
}
sum += map[y][x];
sum += map[y + 1][x];
sum += map[y + 2][x];
sum += map[y + 1][x - 1];
return sum;
}
int five3(int y, int x) {
int sum = 0;
if (y + 1 > n - 1 || x - 1 < 0 || x + 1 > m - 1) {
return -1;
}
sum += map[y][x];
sum += map[y + 1][x];
sum += map[y][x - 1];
sum += map[y][x + 1];
return sum;
}
int five4(int y, int x) {
int sum = 0;
if (y + 2 > n - 1 || x + 1 > m - 1) {
return -1;
}
sum += map[y][x];
sum += map[y + 1][x];
sum += map[y + 2][x];
sum += map[y + 1][x + 1];
return sum;
}
int main() {
int max = 0;
cin >> n >> m;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> map[i][j];
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (max < one1(i, j)) {
max = one1(i, j);
}
if (max < one2(i, j)) {
max = one2(i, j);
}
if (max < two(i, j)) {
max = two(i, j);
}
if (max < three1(i, j)) {
max = three1(i, j);
}
if (max < three2(i, j)) {
max = three2(i, j);
}
if (max < three3(i, j)) {
max = three3(i, j);
}
if (max < three4(i, j)) {
max = three4(i, j);
}
if (max < three5(i, j)) {
max = three5(i, j);
}
if (max < three6(i, j)) {
max = three6(i, j);
}
if (max < three7(i, j)) {
max = three7(i, j);
}
if (max < three8(i, j)) {
max = three8(i, j);
}
if (max < four1(i, j)) {
max = four1(i, j);
}
if (max < four2(i, j)) {
max = four2(i, j);
}
if (max < four3(i, j)) {
max = four3(i, j);
}
if (max < four4(i, j)) {
max = four4(i, j);
}
if (max < five1(i, j)) {
max = five1(i, j);
}
if (max < five2(i, j)) {
max = five2(i, j);
}
if (max < five3(i, j)) {
max = five3(i, j);
}
if (max < five4(i, j)) {
max = five4(i, j);
}
}
}
cout << max << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1hcFs1MDJdWzUwMl07CmludCBuLCBtOwoKaW50IG9uZTEoaW50IHksaW50IHgpIHsKCWludCBzdW0gPSAwOwoJaWYgKHkgKyAzID4gbi0xKSB7CgkJcmV0dXJuIC0xOwoJfQoJZm9yIChpbnQgaSA9IDA7IGkgPCA0OyBpKyspIHsKCQlzdW0gKz0gbWFwW3kgKyBpXVt4XTsKCX0KCXJldHVybiBzdW07Cn0KCmludCBvbmUyKGludCB5LCBpbnQgeCkgewoJaW50IHN1bSA9IDA7CglpZiAoeCArIDMgPiBtIC0gMSkgewoJCXJldHVybiAtMTsKCX0KCWZvciAoaW50IGkgPSAwOyBpIDwgNDsgaSsrKSB7CgkJc3VtICs9IG1hcFt5XVt4ICsgaV07Cgl9CglyZXR1cm4gc3VtOwp9CgppbnQgdHdvKGludCB5LCBpbnQgeCkgewoJaW50IHN1bSA9IDA7CgoJaWYgKHggKyAxID4gbSAtIDEgfHwgeSArIDEgPiBuIC0gMSkgewoJCXJldHVybiAtMTsKCX0KCglzdW0gKz0gbWFwW3ldW3hdOwoJc3VtICs9IG1hcFt5ICsgMV1beF07CglzdW0gKz0gbWFwW3ldW3ggKyAxXTsKCXN1bSArPSBtYXBbeSArIDFdW3ggKyAxXTsKCXJldHVybiBzdW07Cn0KCmludCB0aHJlZTEoaW50IHksIGludCB4KSB7CglpbnQgc3VtID0gMDsKCWlmICh5ICsgMiA+IG4gLSAxIHx8IHggKyAxID4gbSAtIDEpIHsKCQlyZXR1cm4gLTE7Cgl9CglzdW0gKz0gbWFwW3ldW3hdOwoJc3VtICs9IG1hcFt5ICsgMV1beF07CglzdW0gKz0gbWFwW3kgKyAyXVt4XTsKCXN1bSArPSBtYXBbeSArIDJdW3ggKyAxXTsKCglyZXR1cm4gc3VtOwp9CgppbnQgdGhyZWUyKGludCB5LCBpbnQgeCkgewoJaW50IHN1bSA9IDA7CglpZiAoeSArIDIgPiBuIC0gMSB8fCB4IC0gMSA8IDApIHsKCQlyZXR1cm4gLTE7Cgl9CglzdW0gKz0gbWFwW3ldW3hdOwoJc3VtICs9IG1hcFt5ICsgMV1beF07CglzdW0gKz0gbWFwW3kgKyAyXVt4XTsKCXN1bSArPSBtYXBbeSArIDJdW3ggLSAxXTsKCQoJcmV0dXJuIHN1bTsKfQoKaW50IHRocmVlMyhpbnQgeSwgaW50IHgpIHsKCWludCBzdW0gPSAwOwoJaWYgKHkgKyAxID4gbiAtIDEgfHwgeCArIDIgPiBtIC0gMSkgewoJCXJldHVybiAtMTsKCX0KCXN1bSArPSBtYXBbeV1beF07CglzdW0gKz0gbWFwW3kgKyAxXVt4XTsKCXN1bSArPSBtYXBbeSArIDFdW3ggKyAxXTsKCXN1bSArPSBtYXBbeSArIDFdW3ggKyAyXTsKCQoJcmV0dXJuIHN1bTsKfQoKaW50IHRocmVlNChpbnQgeSwgaW50IHgpIHsKCWludCBzdW0gPSAwOwoJaWYgKHkgKyAxID4gbiAtIDEgfHwgeCAtIDIgPCAwKSB7CgkJcmV0dXJuIC0xOwoJfQoJc3VtICs9IG1hcFt5XVt4XTsKCXN1bSArPSBtYXBbeSArIDFdW3hdOwoJc3VtICs9IG1hcFt5ICsgMV1beCAtIDFdOwoJc3VtICs9IG1hcFt5ICsgMV1beCAtIDJdOwoKCXJldHVybiBzdW07Cn0KCmludCB0aHJlZTUoaW50IHksIGludCB4KSB7CglpbnQgc3VtID0gMDsKCWlmICh5ICsgMSA+IG4gLSAxIHx8IHggKyAyID4gbS0xKSB7CgkJcmV0dXJuIC0xOwoJfQoJc3VtICs9IG1hcFt5ICsgMV1beF07CglzdW0gKz0gbWFwW3ldW3hdOwoJc3VtICs9IG1hcFt5XVt4ICsgMV07CglzdW0gKz0gbWFwW3ldW3ggKyAyXTsKCglyZXR1cm4gc3VtOwp9CgppbnQgdGhyZWU2KGludCB5LCBpbnQgeCkgewoJaW50IHN1bSA9IDA7CglpZiAoeSArIDEgPiBuIC0gMSB8fCB4ICsgMiA+IG0gLSAxKSB7CgkJcmV0dXJuIC0xOwoJfQoJc3VtICs9IG1hcFt5ICsgMV1beCArIDJdOwoJc3VtICs9IG1hcFt5XVt4XTsKCXN1bSArPSBtYXBbeV1beCArIDFdOwoJc3VtICs9IG1hcFt5XVt4ICsgMl07CgoJcmV0dXJuIHN1bTsKfQoKaW50IHRocmVlNyhpbnQgeSwgaW50IHgpIHsKCWludCBzdW0gPSAwOwoJaWYgKHkgKyAyID4gbiAtIDEgfHwgeCArIDEgPiBtIC0gMSkgewoJCXJldHVybiAtMTsKCX0KCXN1bSArPSBtYXBbeV1beF07CglzdW0gKz0gbWFwW3kgKyAxXVt4XTsKCXN1bSArPSBtYXBbeSArIDJdW3hdOwoJc3VtICs9IG1hcFt5XVt4ICsgMV07CgoJcmV0dXJuIHN1bTsKfQoKaW50IHRocmVlOChpbnQgeSwgaW50IHgpIHsKCWludCBzdW0gPSAwOwoJaWYgKHkgKyAyID4gbiAtIDEgfHwgeCArIDEgPiBtIC0gMSkgewoJCXJldHVybiAtMTsKCX0KCXN1bSArPSBtYXBbeV1beF07CglzdW0gKz0gbWFwW3ldW3ggKyAxXTsKCXN1bSArPSBtYXBbeSArIDFdW3ggKyAxXTsKCXN1bSArPSBtYXBbeSArIDJdW3ggKyAxXTsKCglyZXR1cm4gc3VtOwp9CgppbnQgZm91cjEoaW50IHksIGludCB4KSB7CglpbnQgc3VtID0gMDsKCWlmICh5ICsgMiA+IG4gLSAxIHx8IHggKyAxID4gbSAtIDEpIHsKCQlyZXR1cm4gLTE7Cgl9CglzdW0gKz0gbWFwW3ldW3hdOwoJc3VtICs9IG1hcFt5ICsgMV1beF07CglzdW0gKz0gbWFwW3kgKyAxXVt4ICsgMV07CglzdW0gKz0gbWFwW3kgKyAyXVt4ICsgMV07Cn0KCmludCBmb3VyMihpbnQgeSwgaW50IHgpIHsKCWludCBzdW0gPSAwOwoJaWYgKHkgKyAyID4gbiAtIDEgfHwgeCAtIDEgPCAwKSB7CgkJcmV0dXJuIC0xOwoJfQoJc3VtICs9IG1hcFt5XVt4XTsKCXN1bSArPSBtYXBbeSArIDFdW3hdOwoJc3VtICs9IG1hcFt5ICsgMV1beCAtIDFdOwoJc3VtICs9IG1hcFt5ICsgMl1beCAtIDFdOwoJcmV0dXJuIHN1bTsKfQoKaW50IGZvdXIzKGludCB5LCBpbnQgeCkgewoJaW50IHN1bSA9IDA7CglpZiAoeSArIDEgPiBuIC0gMSB8fCB4IC0gMSA8IDAgfHwgeCsxPm0tMSkgewoJCXJldHVybiAtMTsKCX0KCglzdW0gKz0gbWFwW3ldW3hdOwoJc3VtICs9IG1hcFt5XVt4ICsgMV07CglzdW0gKz0gbWFwW3kgKyAxXVt4XTsKCXN1bSArPSBtYXBbeSArIDFdW3ggLSAxXTsKCglyZXR1cm4gc3VtOwp9CgppbnQgZm91cjQoaW50IHksIGludCB4KSB7CglpbnQgc3VtID0gMDsKCWlmICh5ICsgMSA+IG4gLSAxIHx8IHggKyAyID4gbSAtIDEpIHsKCQlyZXR1cm4gLTE7Cgl9CgoJc3VtICs9IG1hcFt5XVt4XTsKCXN1bSArPSBtYXBbeV1beCArIDFdOwoJc3VtICs9IG1hcFt5ICsgMV1beCArIDFdOwoJc3VtICs9IG1hcFt5ICsgMV1beCArIDJdOwoKCXJldHVybiBzdW07Cn0KCmludCBmaXZlMShpbnQgeSwgaW50IHgpIHsKCWludCBzdW0gPSAwOwoJaWYgKHkgKyAxID4gbiAtIDEgfHwgeCArIDEgPiBtIC0gMSB8fCB4IC0gMSA8IDApIHsKCQlyZXR1cm4gLTE7Cgl9CglzdW0gKz0gbWFwW3ldW3hdOwoJc3VtICs9IG1hcFt5ICsgMV1beF07CglzdW0gKz0gbWFwW3kgKyAxXVt4IC0gMV07CglzdW0gKz0gbWFwW3kgKyAxXVt4ICsgMV07CgoJcmV0dXJuIHN1bTsKfQoKaW50IGZpdmUyKGludCB5LCBpbnQgeCkgewoJaW50IHN1bSA9IDA7CgoJaWYgKHkgKyAyID4gbiAtIDEgfHwgeCAtIDEgPCAwKSB7CgkJcmV0dXJuIC0xOwoJfQoJc3VtICs9IG1hcFt5XVt4XTsKCXN1bSArPSBtYXBbeSArIDFdW3hdOwoJc3VtICs9IG1hcFt5ICsgMl1beF07CglzdW0gKz0gbWFwW3kgKyAxXVt4IC0gMV07CglyZXR1cm4gc3VtOwp9CgppbnQgZml2ZTMoaW50IHksIGludCB4KSB7CglpbnQgc3VtID0gMDsKCWlmICh5ICsgMSA+IG4gLSAxIHx8IHggLSAxIDwgMCB8fCB4ICsgMSA+IG0gLSAxKSB7CgkJcmV0dXJuIC0xOwoJfQoJc3VtICs9IG1hcFt5XVt4XTsKCXN1bSArPSBtYXBbeSArIDFdW3hdOwoJc3VtICs9IG1hcFt5XVt4IC0gMV07CglzdW0gKz0gbWFwW3ldW3ggKyAxXTsKCXJldHVybiBzdW07Cn0KCmludCBmaXZlNChpbnQgeSwgaW50IHgpIHsKCWludCBzdW0gPSAwOwoKCWlmICh5ICsgMiA+IG4gLSAxIHx8IHggKyAxID4gbSAtIDEpIHsKCQlyZXR1cm4gLTE7Cgl9CglzdW0gKz0gbWFwW3ldW3hdOwoJc3VtICs9IG1hcFt5ICsgMV1beF07CglzdW0gKz0gbWFwW3kgKyAyXVt4XTsKCXN1bSArPSBtYXBbeSArIDFdW3ggKyAxXTsKCXJldHVybiBzdW07Cn0KCmludCBtYWluKCkgewoJaW50IG1heCA9IDA7CgljaW4gPj4gbiA+PiBtOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKCQlmb3IgKGludCBqID0gMDsgaiA8IG07IGorKykgewoJCQljaW4gPj4gbWFwW2ldW2pdOwoJCX0KCX0KCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CgkJZm9yIChpbnQgaiA9IDA7IGogPCBtOyBqKyspIHsKCQkJaWYgKG1heCA8IG9uZTEoaSwgaikpIHsKCQkJCW1heCA9IG9uZTEoaSwgaik7CgkJCX0KCQkJaWYgKG1heCA8IG9uZTIoaSwgaikpIHsKCQkJCW1heCA9IG9uZTIoaSwgaik7CgkJCX0KCQkJaWYgKG1heCA8IHR3byhpLCBqKSkgewoJCQkJbWF4ID0gdHdvKGksIGopOwoJCQl9CgkJCWlmIChtYXggPCB0aHJlZTEoaSwgaikpIHsKCQkJCW1heCA9IHRocmVlMShpLCBqKTsKCQkJfQoJCQlpZiAobWF4IDwgdGhyZWUyKGksIGopKSB7CgkJCQltYXggPSB0aHJlZTIoaSwgaik7CgkJCX0KCQkJaWYgKG1heCA8IHRocmVlMyhpLCBqKSkgewoJCQkJbWF4ID0gdGhyZWUzKGksIGopOwoJCQl9CgkJCWlmIChtYXggPCB0aHJlZTQoaSwgaikpIHsKCQkJCW1heCA9IHRocmVlNChpLCBqKTsKCQkJfQoJCQlpZiAobWF4IDwgdGhyZWU1KGksIGopKSB7CgkJCQltYXggPSB0aHJlZTUoaSwgaik7CgkJCX0KCQkJaWYgKG1heCA8IHRocmVlNihpLCBqKSkgewoJCQkJbWF4ID0gdGhyZWU2KGksIGopOwoJCQl9CgkJCWlmIChtYXggPCB0aHJlZTcoaSwgaikpIHsKCQkJCW1heCA9IHRocmVlNyhpLCBqKTsKCQkJfQoJCQlpZiAobWF4IDwgdGhyZWU4KGksIGopKSB7CgkJCQltYXggPSB0aHJlZTgoaSwgaik7CgkJCX0KCQkJaWYgKG1heCA8IGZvdXIxKGksIGopKSB7CgkJCQltYXggPSBmb3VyMShpLCBqKTsKCQkJfQoJCQlpZiAobWF4IDwgZm91cjIoaSwgaikpIHsKCQkJCW1heCA9IGZvdXIyKGksIGopOwoJCQl9CgkJCWlmIChtYXggPCBmb3VyMyhpLCBqKSkgewoJCQkJbWF4ID0gZm91cjMoaSwgaik7CgkJCX0KCQkJaWYgKG1heCA8IGZvdXI0KGksIGopKSB7CgkJCQltYXggPSBmb3VyNChpLCBqKTsKCQkJfQoJCQlpZiAobWF4IDwgZml2ZTEoaSwgaikpIHsKCQkJCW1heCA9IGZpdmUxKGksIGopOwoJCQl9CgkJCWlmIChtYXggPCBmaXZlMihpLCBqKSkgewoJCQkJbWF4ID0gZml2ZTIoaSwgaik7CgkJCX0KCQkJaWYgKG1heCA8IGZpdmUzKGksIGopKSB7CgkJCQltYXggPSBmaXZlMyhpLCBqKTsKCQkJfQoJCQlpZiAobWF4IDwgZml2ZTQoaSwgaikpIHsKCQkJCW1heCA9IGZpdmU0KGksIGopOwoJCQl9CgkJfQoJfQoKCWNvdXQgPDwgbWF4IDw8IGVuZGw7Cn0=