#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
using namespace std;
long long int n,m,u,v,map[1010][1010],get[1010][5],MAX,ln=1;
void input()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
{ for(int j=1;j<=m;j++)
scanf("%d",&map[i][j]);
get[i][1]=1;
get[i][2]=m;
}
return ;
}
void Getnum()
{
for(int i=1;i<=n;i++)
{ u=v=0;
for(int j=get[i][1]+1;j<=get[i][2];j++)
u+=map[i][j]*ln*2;
for(int j=get[i][2]-1;j>=get[i][1];j--)
v+=map[i][j]*ln*2;
if(u>v)
{ MAX+=map[i][get[i][1]]*ln;
map[i][get[i][1]]=0;
get[i][1]++;
}
else
{ MAX+=map[i][get[i][2]]*ln;
map[i][get[i][2]]=0;
get[i][2]--;
}
}
for(int i=1;i<=n;i++)
{ for(int j=1;j<=m;j++)
cout<<map[i][j]<<" ";
cout<<endl;
}cout<<endl;
return ;
}
int main()
{
input();
for(int t=1;t<=m;t++)
{ ln*=2;
Getnum();
}
if(MAX!=0) MAX+2088;
printf("%d\n",MAX);
return 0;
}
#include <cstdlib>
#include <cstdio>
#include <cstring>
using namespace std;
long long int n,m,u,v,map[1010][1010],get[1010][5],MAX,ln=1;
void input()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
{ for(int j=1;j<=m;j++)
scanf("%d",&map[i][j]);
get[i][1]=1;
get[i][2]=m;
}
return ;
}
void Getnum()
{
for(int i=1;i<=n;i++)
{ u=v=0;
for(int j=get[i][1]+1;j<=get[i][2];j++)
u+=map[i][j]*ln*2;
for(int j=get[i][2]-1;j>=get[i][1];j--)
v+=map[i][j]*ln*2;
if(u>v)
{ MAX+=map[i][get[i][1]]*ln;
map[i][get[i][1]]=0;
get[i][1]++;
}
else
{ MAX+=map[i][get[i][2]]*ln;
map[i][get[i][2]]=0;
get[i][2]--;
}
}
for(int i=1;i<=n;i++)
{ for(int j=1;j<=m;j++)
cout<<map[i][j]<<" ";
cout<<endl;
}cout<<endl;
return ;
}
int main()
{
input();
for(int t=1;t<=m;t++)
{ ln*=2;
Getnum();
}
if(MAX!=0) MAX+2088;
printf("%d\n",MAX);
return 0;
}