#include <iostream>
#include<fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
struct punct
{
int x,y;
};
int suma(int n,int m,int a[17][17])
{
int suma=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
suma+=a[i][j];
return suma;
}
void swich(int n,int m, int a[17][17],int nr, char c)
{
if(c=='c')
{
for(int j=1;j<=n;j++)
{
a[j][nr]*=-1;
}
}
else
if(c=='l')
{
for(int j=1;j<=m;j++)
{
a[nr][j]*=-1;
}
}
}
int verifica(int x,int v[],int n)
{
for(int i=1;i<=n;i++)
if(v[i]==x)
return 1;
return 0;
}
punct maxim(int n,int m,int a[17][17],int ex[],int *nr)
{
int max=0;
punct p;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
if(a[i][j]<max&&verifica(a[i][j],ex,*nr)==0)
{
max=a[i][j];
p.x=i;
p.y=j;
}
}
(*nr)++;
ex[(*nr)]=max;
return p;
}
int main()
{
int n=0,m=0,s=0,a[17][17],ex[500],nr=0,x1,x2;
punct p;
f>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
f>>a[i][j];
}
s=suma(n,m,a);
while(1)
{
p=maxim(n,m,a,ex,&nr);
swich(n,m,a,p.x,'l');
x1=suma(n,m,a);
swich(n,m,a,p.x,'l');
swich(n,m,a,p.y,'c');
x2=suma(n,m,a);
swich(n,m,a,p.y,'c');
if(x1>s||x2>s)
{
if(x1>x2)
{
swich(n,m,a,p.x,'l');
s=x1;
}
else
{
s=x2;
swich(n,m,a,p.y,'c');
}
}
else
break;
}
g<<s;
return 0;
}