#include <stdio.h>
#include <stdlib.h>
int N, M;
int grid[16][16];
int temp_grid[16][16];
void read_data(FILE *f)
{
fscanf(f, "%d %d", &N, &M);
int i, j;
for (i = 0; i < N; ++i)
for (j = 0; j < M; ++j)
fscanf(f, "%d", &grid[i][j]);
}
int calc_max_sum()
{
int counter = 0;
int max_iter = 1 << N;
int max_sum = 0;
while (counter < max_iter)
{
int i, j;
int cur_sum = 0;
for (i = 0; i < N; ++i)
{
if ((counter >> i) & 1)
for (j = 0; j < M; ++j)
temp_grid[i][j] = -grid[i][j];
else
for (j = 0; j < M; ++j)
temp_grid[i][j] = grid[i][j];
}
for (j = 0; j < M; ++j)
{
int col_sum = 0;
for (i = 0; i < N; ++i)
col_sum += temp_grid[i][j];
cur_sum += abs(col_sum);
}
if (cur_sum > max_sum)
max_sum = cur_sum;
++counter;
}
return max_sum;
}
int main()
{
FILE *in = fopen("flip.in", "r");
FILE *out = fopen("flip.out", "w");
read_data(in);
fprintf(out, "%d", calc_max_sum());
fclose(in);
fclose(out);
return 0;
}