program z8_153;
const f=100;
type ta=array[1..f,1..f] of integer;
ts=array[1..f] of set of 1..f;
var a:ta;
s:ts;
i,j,n,m,k,sm:integer;
procedure DeleteColumn(var a:ta; var n,m:integer; t:integer);
var i,j:integer;
BEGIN
for j:=t to m-1 do
for i:=1 to n do a[i,j]:=a[i,j+1];
end;
procedure Tprint(a:ta; n,m:integer);
var i,j:integer;
BEGIN
for i:=1 to n do begin
for j:=1 to m do write(a[i,j]:4);
writeln;
end;
BEGIN
readln(n);
m:=n;
for i:=1 to n do
for j:=1 to m do read(a[i,j]);
fillchar(s,sizeof(s),0);
for i:=1 to n do
for j:=1 to m do
if a[i,j]<>0 then s[j]:=s[j]+[i];
sm:=m;
i:=1;
while i<=sm do begin
j:=1;
while j<=sm do begin
if (i<>j) then
if s[j]-s[i]=[] then begin
DeleteColumn(a,n,m,j);
for k:=j to sm-1 do s[k]:=s[k+1];
dec(sm);
if i>j then dec(i);
dec(j);
end;
inc(j);
end;
inc(i);
end;
writeln('new array:');
Tprint(a,n,m);
end;
readln;
END.