#感觉可以呀,但不知道错哪了
##求大佬
#include<stdio.h>
int max(int s,int d);
int main()
{
int n,m;
scanf("%d%d\n",&n,&m);
int a[100],p[100];
double answer=0;
p[0]=1;
for(int i=1;i<=m;i++)p[i]=p[i-1]*2;
for(int j=1;j<=n;j++){
for(int i=1;i<=m;i++){
scanf("%d",&a[i]);
if(i==m)printf("\n");
}
int x,y,q;
x=max(a[1],a[m]);
for(int i=1;i<=m;i++){
if(x==a[i]){y=a[m];q=y*p[i];x=max(a[i],a[m-1]);}
else{y=a[i];q=y*p[i];x=max(a[i+1],a[m]); }
answer+=q;
}
}
printf("%.0f",answer);
return 0;
}
int max(int s,int d)
{
int g;
g=(s>d)?s:d;
return g;
}