Cod sursa(job #90071)
var a,c:array[1..16,1..16] of int64;
back:array[1..16] of integer;
s1,s2,n,f,co,max,m,gas,poz,p:int64;
i,j,t:longint;
f1,f2:text;
begin
assign(f1,'flip.in');
assign(f2,'flip.out');
reset(f1);
rewrite(f2);
read(f1,n,m);
max:=0;
for i:=1 to n do
for j:=1 to m do
begin
read(f1,a[i][j]);
max:=max+a[i][j];
end;
f:=1;
for i:=1 to n do
f:=f*2;
f:=f-1;
for i:=1 to n do
back[i]:=0;
for t:=1 to f do
begin
co:=t;poz:=1;
while co>0 do
begin
back[poz]:=co mod 2;
co:=co div 2;
poz:=poz+1;
end;
for i:=1 to n do
for j:=1 to m do
c[i][j]:=a[i][j];
for i:=1 to n do
if back[i]=1 then for j:=1 to m do
c[i][j]:=c[i][j]*(-1);
for j:=1 to m do
begin
s1:=0;s2:=0;
for i:=1 to n do
begin
s1:=s1+c[i][j];
s2:=s2+c[i][j]*(-1);
end;
if s2>s1 then for i:=1 to n do
c[i][j]:=c[i][j]*(-1);
end;
s1:=0;
for i:=1 to n do
for j:=1 to m do
s1:=s1+c[i][j];
if s1>max then max:=s1;
end;
writeln(f2,max);
close(f1);
close(f2);
end.