#include <iostream>
#include <fstream>
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;
}
}
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 new_mattr( int a[17][17], int x[34], int n, int m, int k, int b[17][17]) {
int i, j, c;
for ( i = 1; i <= n; i++ )
for( j = 1; j <= m; j++ )
b[i][j] = a[i][j];
for ( c = 1; c <= k; c ++ )
if ( x[c] < 0 ) {
j = -x[c];
for ( i = 1; i <= n; i++)
b[i][j] = -b[i][j];
}
else {
i = x[c];
for ( j = 1; j <= m; j++)
b[i][j] = -b[i][j];
}
}
void back(int a[17][17], int x[34], int n, int m, int k, int &maxim)
{
for ( int i = -m; i <= n; i++ )
if( cond(x, k, i) ) {
x[k] = i;
if ( k <= n + m) {
int b[17][17];
new_mattr(a,x,n,m,k,b);
int s = suma(b,n,m);
if ( s > maxim )
maxim = s;
back(a,x,n,m,k+1,maxim);
}
}
}
int main()
{
int n, m, a[17][17], x[34], maxim;
citire(a, n, m);
maxim = suma(a, n, m);
back(a,x,n,m,1,maxim);
cout << maxim;
return 0;
}