Cod sursa(job #489630)
program flip;
var f,g:text; n,m,i,j:integer; A:array[1..16,1..16] of integer; found:boolean;
S:integer;
procedure citire;
begin
Readln(f,n,m);
For i:=1 to n do
begin
For j:=1 to m do
Read(f,A[i,j]);
Readln(f);
end;
end;
begin
Assign(f,'flip.in'); Reset(f);
Assign(g,'flip.out');Rewrite(g);
citire; Close(f);
Repeat
found:=false;
For i:=1 to n do
begin
S:=0;
For j:=1 to m do S:=S+A[i,j];
If S<0 then
begin
For j:=1 to m do A[i,j]:=-A[i,j];
found:=true;
end;
end;
For j:=1 to m do
begin
S:=0;
For i:=1 to n do S:=S+A[i,j];
If S<0 then
begin
For i:=1 to n do A[i,j]:=-A[i,j];
found:=true;
end;
end;
Until not found;
S:=0;
For i:=1 to n do
For j:=1 to m do
S:=S+A[i,j];
Write(g,S); Close(g);
end.