#include <fstream>
#include<iostream>
using namespace std;
int suma(int a[17][17], int n, int m) {
int s = 0, i, j;
for ( i = 1; i <= n; i++ )
for( j = 1; j <= m; j++ )
s = s + a[i][j];
return s;
}
void citire(int a[17][17], int &n, int &m) {
ifstream f("flip.in");
f >> n >> m;
int i, j;
for ( i = 1; i <= n; i++ )
for( j = 1; j <= m; j++ )
f >> a[i][j];
f.close();
}
void afisare(int a[17][17], int n, int m) {
int i, j;
for(i=1;i<=n;i++) {
for(j=1;j<=m;j++)
cout<<a[i][j]<< ' ';
cout<<endl;
}
cout<<endl<<endl;
}
int cond(int x[34], int k, int nr) {
if ( nr == 0 )
return 0;
if ( k == 1 )
return 1;
int i;
for ( i = 1; i < k; i++ )
if ( x[i] >= nr )
return 0;
return 1;
}
void reverse(int a[17][17], int n, int m, int nr, int &s) {
int i, j;
if ( nr < 0 ) {
j = -nr;
for ( i = 1; i <= n; i++ ) {
s = s - 2*a[i][j];
a[i][j] = -a[i][j];
}
}
else if(nr>0){
i = nr;
for ( j = 1; j <= m; j++ ) {
s = s - 2*a[i][j];
a[i][j] = -a[i][j];
}
}
}
void back(int a[17][17], int x[34], int n, int m, int k, int &maxim, int &s)
{
for ( int i = -m; i <= n; i++ )
if( cond(x, k, i) ) {
x[k] = i;
if ( k <= n + m) {
reverse(a,n,m,x[k],s);
if ( s > maxim )
maxim = s;
back(a,x,n,m,k+1,maxim,s);
reverse(a,n,m,i,s);
}
}
}
int main()
{
int n, m, a[17][17], x[34], maxim, s;
citire(a, n, m);
maxim = suma(a, n, m);
s=maxim;
back(a,x,n,m,1,maxim,s);
ofstream g("flip.out");
g<<maxim;
g.close();
return 0;
}