uses math;
var
A : array [-1..300,-1..300] of longint;
h,c : array [-1..100006] of longint;
t,tt,i,n,m,j,res : longint;
const
fi = 'ARR2REC2.inp';
fo = 'ARR2REC2.out';
procedure doc;
begin
assign(input,fi); reset(input);
assign(output,fo); rewrite(output);
readln(m,n);
for i := 1 to m do
for j := 1 to n do
read(a[i,j]);
end;
begin
doc;
for i := 1 to m do
begin
t := 0;
for j := 1 to n do t := t + A[i,j];
h[i] := t;
end;
for j := 1 to n do
begin
tt := 0;
for i := 1 to m do tt := tt + a[i,j];
c[j] := tt;
end;
res := low(longint);
for i := 1 to m do
for j := 1 to n do
res := max(res,h[i]+c[j]-a[i,j]);
write(res);
close(input);
close(output);
end.