#include<iostream>#include<string.h>#include<algorithm>#define ll long longusingnamespacestd;
int a[80][80];
ll dp[80][80], ans=0, t;
int x;
ll dfs(int i ,int j, int step){
if (dp[i][j] >= 0) return dp[i][j];
t = -1;
if (i + 1 <= j) {
t = max(dfs(i+1, j, step+1)*2+a[x][i]*2,dfs(i, j-1, step+1)*2+a[x][j]*2);
}
if (i == j) {
t = a[x][i]*2;
}
dp[i][j] = t;
return dp[i][j];
}
intmain(){
int n,m;
cin >> n >> m;
for (int i = 1;i <= n;i++){
for (int j = 1;j <= m;j++) {
cin >> a[i][j];
}
}
for (x = 1;x <= n;x++) {
memset(dp,-1,sizeof(dp));
ans += dfs(1, m, 0);
}
cout << ans;
return0;
}