#include <stdio.h>
#include <stdlib.h>
void comuta_rand(int tabla[16][16], int m, int rand) {
int i;
for(i=0;i<m;i++) {
tabla[rand][i]*=(-1);
}
return;
}
void comuta_coloana(int tabla[16][16], int n, int coloana) {
int i;
for(i=0;i<n;i++) {
tabla[i][coloana]*=(-1);
}
return;
}
int calc_suma_comut(int tabla[16][16], int n, int m, int dir, int nr) {
int suma=0,i;
if(dir==1) { //coloana
for(i=0;i<n;i++) {
suma+=tabla[i][nr] * (-1);
}
return suma;
} else { //rand
for(i=0;i<m;i++) {
suma+=tabla[nr][i] * (-1);
}
return suma;
}
}
void verifica_rand(int tabla[16][16], int n, int m, int rand) {
int suma_normala=0, suma_comut=0,i;
suma_comut=calc_suma_comut(tabla,n,m,0,rand);
for(i=0;i<m;i++) {
suma_normala+=tabla[rand][i];
}
if(suma_normala<suma_comut) {
comuta_rand(tabla,m,rand);
}
return;
}
void verifica_coloana(int tabla[16][16], int n, int m, int coloana) {
int suma_normala=0, suma_comut=0,i;
suma_comut=calc_suma_comut(tabla,n,m,1,coloana);
for(i=0;i<n;i++) {
suma_normala+=tabla[i][coloana];
}
if(suma_normala<suma_comut) {
comuta_coloana(tabla,n,coloana);
}
return;
}
int main() {
int tabla[16][16], n, m,i,j;
int suma=0;
FILE *in;
in=fopen("flip.in","r");
fscanf(in,"%d",&n);
fscanf(in,"%d",&m);
for(i=0;i<n;i++) {
for(j=0;j<m;j++) {
fscanf(in,"%d",&tabla[i][j]);
}
}
for(i=0;i<n;i++){
verifica_rand(tabla,n,m,i);
}
for(i=0;i<m;i++) {
verifica_coloana(tabla,n,m,i);
}
for(i=0;i<n;i++) {
for(j=0;j<m;j++) {
suma+=tabla[i][j];
}
}
in=fopen("flip.out","w+");
fprintf(in,"%d",suma);
fclose(in);
return 0;
}