#include<bits/stdc++.h>
using namespace std;
int n,m;
const int N=1e3+3;
int a[N][N],res=0;
int main(){
cin>>n>>m;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cin>>a[i][j];
for(int x1=0;x1<n-1;x1++)
for(int y1=0;y1<m-1;y1++)
{
int L=min(n-x1,m-y1);
for(int k=1;k<L;k++){
int x2 = x1 + k;
int y2 = y1 + k;
// # 计算这个“口”字形区域的和
int s = 0;
for(int t=x1;t<=x2;t++)s+=a[t][y1],s+=a[t][y2];
for(int t=y1;t<=y2;t++)s+=a[x1][t],s+=a[x2][t];
s-=a[x1][y1];
s-=a[x1][y2];
s-=a[x2][y1];
s-=a[x2][y2];
// # 更新最大值
res= max(res,s);
}
}
cout<<res;
}