
/*
TASK:apple
LANG:C
*/

//#define DEBUG

#include<stdio.h>

int dp[128][128][128]={0};
int a[128][128];

int n,m;
int k,g,h,i,j;

int main () {
    #ifdef DEBUG
    freopen("test.txt","rt",stdin);
    #endif
    scanf("%d %d",&m,&n);
    for (i=1;i<=m;i++)
        for (j=1;j<=n;j++) {
            scanf("%d",&a[i][j]);
            a[i][j]+=a[i][j-1];
            }
    dp[1][1][2]=a[1][1]+a[1][2];
    for (k=1;k<=m;k++)
        for (i=1;i<n;i++)
            for (j=i+1;j<=n;j++)
                for (g=1;g<=i;g++)
                    for (h=i+1;h<=j;h++) {
                        if (k>1)
                           if (dp[k][i][j]<dp[k-1][i][j]+a[k][i]-a[k][i-1]+a[k][j]-a[k][j-1])
                              dp[k][i][j]=dp[k-1][i][j]+a[k][i]-a[k][i-1]+a[k][j]-a[k][j-1];
                        if (dp[k][i][j]<dp[k-1][g][h]+a[k-1][i]-a[k-1][g]+a[k-1][j]-a[k-1][h])
                           dp[k][i][j]=dp[k-1][g][h]+a[k-1][i]-a[k-1][g]+a[k-1][j]-a[k-1][h];
                        }
    k=0;
    for (i=1;i<n;i++)
        for (j=i+1;j<=n;j++)
            if (k<dp[m][i][j]+a[m][j-1]-a[m][i])
               k=dp[m][i][j]+a[m][j-1]-a[m][i];
    printf("%d\n",k);
    return 0;
    }
