var i,j,n,d,min:longint;
l:array[1..10000000] of longint;
a:array[1..100,1..100] of longint;
f1,f2:text;
procedure try(i,j,t:longint);
begin
t:=t+a[i,j];
if (i=n) and (j=n) then
begin
inc(d);
l[d]:=t;
end
else
begin
if i<>n then try(i+1,j,t);
if j<>n then try(i,j+1,t);
end;
end;
begin
assign(f1,'robot.inp');reset(f1);
assign(f2,'robot.out');rewrite(f2);
readln(f1,n);
for i:=1 to n do
begin
for j:=1 to n do
read(f1,a[i,j]);
readln(f1);
end;
d:=0;
try(1,1,0);
min:=l[1];
for i:=2 to d do
if min>l[i] then min:=l[i];
writeln(f2,min);
close(f1);close(f2);
end.