#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[100][100];
__int128 dp[100][100][100]; //36位
__int128 ans,maxn;
void write(__int128 x){
if(x<0){
putchar('-');
x=-x;
}
if(x>9){
write(x/10);
}
putchar(x%10+'0');
}
int main(){
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
for(register int i=1;i<=n;i++){
for(register int j=1;j<=m;j++){
for(register int l=0;l<=j;l++){
dp[i][j][l]=max(dp[i][j-1][(l-1>0)?l-1:0]+(a[i][l]*(1<<j)),dp[i][j-1][l]+(a[i][m-j+l+1]*(1<<j)));
}
}
}
for(register int i=1;i<=n;i++){
for(register int j=1;j<=m;j++){
maxn=max(maxn,dp[i][m][j]);
}
ans+=maxn;
maxn=0;
}
write(ans);
return 0;
}