program ford; {$APPTYPE CONSOLE} var a:array[1..100,1..100] of integer; i,j,k,l,n,s:integer; x,y:array [1..100]of integer; f1,f2:text; begin assign(f1,'graph.dat');reset(f1); assign(f2,'graph.sol');rewrite(f2); readln(f1,n); for i:=1 to n do for j:=1 to n do read(f1,a[i,j]); close(f1); for l:=1 to n do begin k:=1; for i:=1 to n do begin x[i]:=a[l,i];end; while k<>n do begin for s:=1 to n do begin y[s]:=x[s]; for i:=1 to n do begin if y[s]>x[i]+a[i,s] then begin y[s]:=x[i]+a[i,s]; end; end; for i:=1 to n do begin x[s]:=y[s];end; end; k:=k+1; end; for i:=1 to n do write(f2,x[i],' ' ); writeln(f2); end; close(f2); end.