#include <stdio.h>
typedef struct structure
{
long long plus, minus;
}struc;
void readfrom(int *n, int *m, int a[25][25])
{
FILE *f; int i, j;
f = fopen("flip.in", "r");
fscanf(f, "%d %d", n, m);
for (i = 1; i <= *n; i++)
for (j = 1; j <= *m; j++)
fscanf(f, "%d", &a[i][j]);
fclose(f);
}
void output(long long s)
{
FILE *g;
g = fopen("flip.out", "w");
fprintf(g, "%lli", s);
fclose(g);
}
long long si = 0, sum = 0; int b[50];
void print(int n, int *b)
{
int i;
for (i = 1; i <= n; i++)
printf("%d ", b[i]);
printf("\n");
}
void let_sum(int n, int m, int a[25][25], int *b, int k)
{
int c[25][25]; int i, j, f;
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++)
c[i][j] = a[i][j];
si = 0;
for (i = 1; i <= k; i++)
{
if (b[i] <= n)
{
for (f = 1; f <= n; f++)
{
for (j = 1; j <= m; j++)
if (b[i] == f) c[f][j] = -a[f][j];
}
}
else
{
for (f = 1; f <= n; f++)
{
for (j = 1; j <= m; j++)
if (b[i] % n == j) c[f][j] = -a[f][j];
}
}
}
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++)
si += c[i][j];
if (si > sum) sum = si;
//printf("%lli\n", sum);
}
void back(int n, int m, int a[25][25], int *b, int k)
{
int i, j, dis = 0;
if (k > n + m) { return; }
for (i = 1; i <= (n + m); i++)
{
dis = 0;
for (j = 1; j < k; j++)
if (b[j] == i) dis = 1;
if (b[k - 1] > i) dis = 1;
if (!dis) { b[k] = i; let_sum(n, m, a, b, k); back(n, m, a, b, k + 1); }
}
}
int main(void)
{
int n, m, a[25][25];
readfrom(&n, &m, a);
back(n, m, a, b, 1);
output(sum);
return (0);
}