#include<bits/stdc++.h>
#pragma G++ optimize(2)
#define int __int128
using namespace std;
const int N=100;
__int128 a[N],dp[N][N];
inline void input(__int128 &s)
{
s=0;
char c=' ';
while(c>'9'||c<'0') c=getchar();
while(c>='0'&&c<='9')
{
s=s*10+c-'0';
c=getchar();
}
}
inline void output(__int128 x)
{
if(x>9)
output(x/10);
putchar(x%10+'0');
}
signed main(){
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
__int128 n,m,ans=0;
input(n);
input(m);
// cin>>n>>m;
while(n--){
for(int i=1;i<=m;i++){
int x;
input(x);
// cin>>x;
a[i]=x;
// cin>>a[i];
}
memset(dp,0,sizeof dp);
for(int len=1;len<=m;len++){
for(int i=1;i<=m;i++){
int j=i+len-1;
if(j>m){
break;
}
dp[i][j]=max(dp[i+1][j]+(1<<(m-len+1))*a[i],dp[i][j-1]+(1<<(m-len+1))*a[j]);
}
}
ans+=dp[1][m];
// cout<<dp[1][m]<<"\n";
}
output(ans);
// cout<<ans;
return 0;
}
WA60
只有不用128的点