#include <stdio.h>
#include <limits.h>
#define INPUT "flip.in"
#define OUTPUT "flip.out"
#define MAX 16
#define SUCCESS 1
int suma_maxima = INT_MIN;
int suma(int a[MAX][MAX], int n, int m) {
int i, j, s = 0;
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
s += a[i][j];
}
}
return s;
}
void flip_line(int a[MAX][MAX], int line, int m) {
int i;
for (i = 0; i < m; i++) {
a[line][i] *= -1;
}
}
void flip_col(int a[MAX][MAX], int col, int n) {
int i;
for (i = 0; i < n; i++) {
a[i][col] *= -1;
}
}
void advance(int a[MAX][MAX], int i, int j, int n, int m) {
if (i < n && j < m) {
advance(a, i + 1, j, n, m);
advance(a, i, j + 1, n, m);
flip_line(a, i, m);
advance(a, i + 1, j, n, m);
flip_line(a, i, m);
flip_col(a, j, n);
advance(a, i, j + 1, n, m);
flip_col(a, j, n);
} else {
int s = suma(a, n, m);
if (s > suma_maxima) {
suma_maxima = s;
}
}
}
int main() {
FILE *f = fopen(INPUT, "r");
int n, m, a[MAX][MAX], i, j;
fscanf(f, "%d %d\n", &n, &m);
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
fscanf(f, "%d ", &a[i][j]);
}
}
advance(a, 0, 0, n, m);
fclose(f);
f = fopen(OUTPUT, "w");
fprintf(f, "%d", suma_maxima);
fclose(f);
return SUCCESS;
}