tell me what is wrong with my source or give me some critical input pls....

{@judge_id: 38587WT 532 Pascal}
program q532;
var i,j,k,x,y,z,head,tail,sx,sy,sz,fx,fy,fz:longint;
qx,qy,qz,len:array[1..30000]of longint;
b:array[0..51,0..51,0..51]of boolean;
a:array[0..51,0..51,0..51]of char;
procedure bfs(u:longint);
var v:longint;
begin
b[qx,qy,qz]:=true;
if u>tail
then begin
writeln('Trapped!');
exit
end;
if a[qx,qy,qz]='E'
then begin
writeln('Escaped in ',len,' minute(s).');
exit
end;
if (a[qx+1,qy,qz]<>'#')and(not b[qx[u]+1,qy[u],qz[u]])
then begin
tail:=tail+1;
qx[tail]:=qx[u]+1;
qy[tail]:=qy[u];
qz[tail]:=qz[u];
len[tail]:=len[u]+1
end;
if (a[qx[u]-1,qy[u],qz[u]]<>'#')and(not b[qx[u]-1,qy[u],qz[u]])
then begin
tail:=tail+1;
qx[tail]:=qx[u]-1;
qy[tail]:=qy[u];
qz[tail]:=qz[u];
len[tail]:=len[u]+1
end;
if (a[qx[u],qy[u]+1,qz[u]]<>'#')and(not b[qx[u],qy[u]+1,qz[u]])
then begin
tail:=tail+1;
qx[tail]:=qx[u];
qy[tail]:=qy[u]+1;
qz[tail]:=qz[u];
len[tail]:=len[u]+1
end;
if (a[qx[u],qy[u]-1,qz[u]]<>'#')and(not b[qx[u],qy[u]-1,qz[u]])
then begin
tail:=tail+1;
qx[tail]:=qx[u];
qy[tail]:=qy[u]-1;
qz[tail]:=qz[u];
len[tail]:=len[u]+1
end;
if (a[qx[u],qy[u],qz[u]-1]<>'#')and(not b[qx[u],qy[u],qz[u]-1])
then begin
tail:=tail+1;
qx[tail]:=qx[u];
qy[tail]:=qy[u];
qz[tail]:=qz[u]-1;
len[tail]:=len[u]+1
end;
if (a[qx[u],qy[u],qz[u]+1]<>'#')and(not b[qx[u],qy[u],qz[u]+1])
then begin
tail:=tail+1;
qx[tail]:=qx[u];
qy[tail]:=qy[u];
qz[tail]:=qz[u]+1;
len[tail]:=len[u]+1
end;
head:=head+1;
bfs(head)
end;
begin
readln(x,y,z);
while not((x=0)and(y=0)and(z=0)) do
begin
for i:=0 to 51 do
for j:=0 to 51 do
for k:=0 to 51 do
begin
a[i,j,k]:='#';
b[i,j,k]:=false
end;
repeat
if eoln
then readln
until not eoln;
for i:=1 to x do
begin
for j:=1 to y do
begin
for k:=1 to z do
read(a[i,j,k]);
readln
end;
readln
end;
for i:=1 to x do
for j:=1 to y do
for k:=1 to z do
begin
if a[i,j,k]='S'
then begin
sx:=i;
sy:=j;
sz:=k;
break
end
end;
head:=1;
tail:=1;
b[sx,sy,sz]:=true;
qx[head]:=sx;
qy[head]:=sy;
qz[head]:=sz;
len[head]:=0;
bfs(head);
readln(x,y,z)
end
end.