#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,num[82][82],f[82][82][82],ans=0;
ll pw(int zhishu)
{
ll mi=2;
while(zhishu)
{
mi*=2;
zhishu--;
}
}
int main()
{
cin>>n>>m;
for(ll i=1;i<=n;i++)
for(ll l=1;l<=m;l++)
cin>>num[n][m];
for(ll i=1;i<=n;i++)
for(ll l=1;l<=m;l++)
for(ll c=1;c<=l;c++)
{
ll aa=f[i][c][m-l+c]+num[i][c]*pw(l),bb=f[i][c+1][m-l+c+1]+num[i][m-l+c+1]*pw(l);
f[i][c+1][m-l+c]=max(aa,bb);
}
for(ll i=1;i<=n;i++)
{
ll maxn=0;
for(ll l=1;l<=m;l++)
maxn=max(maxn,f[i][l][l-1]);
/*这个地方f[i][l][l-1]的l-1代表最后一个取的l的最大值*/
ans+=maxn;
}
cout<<ans<<endl;
return 0;
}