<Problem>
http://ntucoder.net/Problem/Details/109
Uses Crt;
Var x1,x2,y1,y2,n,i,j,dem,k:longint; kt:boolean; a,d:array[-10..1000,-10..1000] of longint;
b,c:array[1..100] of integer;
Procedure Line(y,x,dem:longint);
begin
if (y=y2) and (x=x2) then
begin
writeln(dem);
for k:=1 to dem-1 do writeln(b[k],' ',c[k]);
writeln(y2,' ',x2);
halt;
end
else
begin
b[dem]:=y;
c[dem]:=x;
a[y,x]:=1;
if (a[y-1,x]<>1) and (y>1) then Line(y-1,x,dem+1);
if (a[y+1,x]<>1) and (y<n) then Line(y+1,x,dem+1);
if (a[y,x-1]<>1) and (x>1) then Line(y,x-1,dem+1);
if (a[y,x+1]<>1) and (x<n) then Line(y,x+1,dem+1);
end;
end;
Begin
readln(n,y1,x1,y2,x2);
for i:=1 to n do
for j:=1 to n do read(a[i,j]);
a[y1,x1]:=1;
a[y2,x2]:=0;
Line(y1,x1,1);
write(0);
readln;
End.