#include<stdio.h>
int mat[16][16],n,m;
long max=0,vn[16]={0},vm[16]=0;
void fn1(int x,int a)
{ int i;
if(a)
for(i=0;i<n;i++)
vn[i]-=2*mat[i][x];
}
void fm1(int x,int a)
{ int i;
if(a)
for(i=0;i<m;i++)
vm[i]-=2*mat[i][x];
}
void f2(int x,int y,int a,int b)
{
fn1(x,a);fm1(y,b);
if(x==n&&y==m)
{
int sum=0,i;for(i=0;i<n;i++) sum+=vn[i];for(i=0;i<m;i++) sum+=vm[i];
if(max<sum) max=sum;
}
else
if(x<n)
{
{f2(x+1,y,1,1); fn1(x+1,1);fm1(y,1);}
{f2(x+1,y,1,0); fn1(x+1,1);fm1(y,0);}
{f2(x+1,y,0,1); fn1(x+1,0);fm1(y,1);}
{f2(x+1,y,0,0); fn1(x+1,0);fm1(y,0);}
}
else
if(y<m)
{
{f2(x,y+1,1,1); fn1(x,1);fm1(y+1,1);}
{f2(x,y+1,1,0); fn1(x,1);fm1(y+1,0);}
{f2(x,y+1,0,1); fn1(x,0);fm1(y+1,1);}
{f2(x,y+1,0,0); fn1(x,0);fm1(y+1,0);}
}
}
int main()
{
int i,j;
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",mat[i][j]);
f2();
printf("%ld",max);
return 0;
}