#include <iostream>
#include <fstream>
using namespace std;
void bt (int **& mat, int &m, int &n, int &sum, int & result);
void col (int **& mat, int &i, int &m, int &n);
void row (int **& mat, int &i, int &m, int &n);
int main (){
ifstream ifs("flip.in", ios_base::in);
ofstream ofs("flip.out", ios_base::out);
int n, m, **mat= 0;
int sum;
int result = 0;
if (!ifs.is_open()|| !ofs.is_open() )return -1;
ifs >> n;
ifs >> m;
sum = 0 ;
mat = new int*[n];
for (int i = 0 ; i < n ; ++i){
mat[ i ] = new int [ m ] ;
for (int j = 0; j < m ; ++j){
ifs >> mat[ i ][ j ] ;
sum += mat[ i ][ j ] ;
}
}
ifs.close();
bt( mat, m, n, sum, result );
ofs<< result << endl;
ofs.close();
for (int i = 0 ; i < n ; ++i)
delete[] mat[i];
delete[] mat ;
return 0;
}
void col ( int **& mat, int &i, int &m, int &n ){
for (int j = 0 ; j < n ; ++j )
mat[j][i] *= (-1);
}
void row (int **&mat, int &i, int &m, int &n){
for (int j = 0 ; j < m ; ++j)
mat[i][j] *= (-1);
}
void summat (int **&mat, int &m, int &n, int &sum){
sum = 0 ;
for (int i = 0 ; i < n ; ++i)
for (int j = 0 ; j < m; ++j )
sum += mat[i][j];
}
void bt (int **&mat, int &m, int &n, int &sum, int &result){
int nsum = sum;
for (int i = 0 ; i < n; ++i){
col(mat, i, m, n);
summat ( mat, m, n, nsum );
if (nsum > sum){
result = nsum;
bt ( mat, m, n, nsum, result );
}
col(mat, i, m, n);
}
for (int j = 0 ; j < m ;++j){
row( mat, j, m, n);
summat( mat, m, n, nsum );
if (nsum > sum){
result = nsum;
bt ( mat, m, n, nsum, result );
}
row ( mat, j, m, n );
}
}