#include <iostream>
#include <cmath>
#include <cstring>
#define ll long long
#define int128 __int128
using namespace std;
const int MAXN=80;
int n,m,mat[MAXN][MAXN],out[40];
int128 f[MAXN][MAXN][MAXN],ans;
int main(){
cin>>n>>m;
for (int i=1;i<=n;i++)
for (int j=1;j<=m;j++)
cin>>mat[i][j];
for (int row=1;row<=n;row++){
for (int i=1;i<=m;i++) f[row][i][i]=mat[row][i]*pow(2,m-1);
for (int len=2;len<=m;len++){
for (int l=1,r=len;r<=m;l++,r++){
f[row][l][r]=max(
f[row][l][r-1]+mat[row][r]*pow(2,m-r+l-1),
f[row][l+1][r]+mat[row][l]*pow(2,m-r+l-1)
);
}
}
ans+=f[row][1][m];
}
ans*=2;
int start=0;
if (ans){
while (ans){
start++;
out[start]=ans%10;
ans/=10;
}
for (int i=start;i;i--) cout<<out[i];
}else{
cout<<'0';
}
return 0;
}