#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#define INF 0x3f3f3f3f
struct abcd
{
int a,b,c;
int step;
}s[50000];
char maze[50][50][50];
int ok[50][50][50];
int go[6][3]={{1,0,0},{-1,0,0},{0,1,0},{0,-1,0},{0,0,1},{0,0,-1}};
int x,y,z;
int x0,y0,z0;
int ans;
int check(int i,int j,int k)
{
if((i>=0&&i<x&&j>=0&&j<y&&k>=0&&k<z)&&(maze[i][j][k]=='.'||maze[i][j][k]=='E'))
return 1;
return 0;
}
void bfs()
{
int i,j,k;
int xx,yy,zz;
s[0].a=x0;
s[0].b=y0;
s[0].c=z0;
s[0].step=0;
k=1;
for(i=0;i<k&&i<50000;i++)
{
for(j=0;j<6;j++)
{
xx=s[i].a+go[j][0];
yy=s[i].b+go[j][1];
zz=s[i].c+go[j][2];
if(check(xx,yy,zz)&&ok[xx][yy][zz]==0)
{
s[k].a=xx;
s[k].b=yy;
s[k].c=zz;
s[k].step=s[i].step+1;
ok[xx][yy][zz]=1;
//printf("%d\n",s[k].step);
if(maze[xx][yy][zz]=='E')
{
ans=s[k].step;
return ;
}
k++;
}
}
}
}
int main()
{
int i,j,k;
while(scanf("%d%d%d",&x,&y,&z)==3)
{
if(x==0&&y==0&&z==0)
break;
memset(ok,0,sizeof(ok));
for(i=0;i<x;i++)
for(j=0;j<y;j++)
{
scanf("%s",maze[i][j]);
for(k=0;k<z;k++){
if(maze[i][j][k]=='S')
{
x0=i; y0=j; z0=k;
ok[i][j][k]=1;
}
else if(maze[i][j][k]=='#')
ok[i][j][k]=1;
}
}
ans=0;
bfs();
if(ans)
printf("Escaped in %d minute(s).\n",ans);
else
printf("Trapped!\n");
}
return 0;
}
#include<stdlib.h>
#include<string.h>
#include<math.h>
#define INF 0x3f3f3f3f
struct abcd
{
int a,b,c;
int step;
}s[50000];
char maze[50][50][50];
int ok[50][50][50];
int go[6][3]={{1,0,0},{-1,0,0},{0,1,0},{0,-1,0},{0,0,1},{0,0,-1}};
int x,y,z;
int x0,y0,z0;
int ans;
int check(int i,int j,int k)
{
if((i>=0&&i<x&&j>=0&&j<y&&k>=0&&k<z)&&(maze[i][j][k]=='.'||maze[i][j][k]=='E'))
return 1;
return 0;
}
void bfs()
{
int i,j,k;
int xx,yy,zz;
s[0].a=x0;
s[0].b=y0;
s[0].c=z0;
s[0].step=0;
k=1;
for(i=0;i<k&&i<50000;i++)
{
for(j=0;j<6;j++)
{
xx=s[i].a+go[j][0];
yy=s[i].b+go[j][1];
zz=s[i].c+go[j][2];
if(check(xx,yy,zz)&&ok[xx][yy][zz]==0)
{
s[k].a=xx;
s[k].b=yy;
s[k].c=zz;
s[k].step=s[i].step+1;
ok[xx][yy][zz]=1;
//printf("%d\n",s[k].step);
if(maze[xx][yy][zz]=='E')
{
ans=s[k].step;
return ;
}
k++;
}
}
}
}
int main()
{
int i,j,k;
while(scanf("%d%d%d",&x,&y,&z)==3)
{
if(x==0&&y==0&&z==0)
break;
memset(ok,0,sizeof(ok));
for(i=0;i<x;i++)
for(j=0;j<y;j++)
{
scanf("%s",maze[i][j]);
for(k=0;k<z;k++){
if(maze[i][j][k]=='S')
{
x0=i; y0=j; z0=k;
ok[i][j][k]=1;
}
else if(maze[i][j][k]=='#')
ok[i][j][k]=1;
}
}
ans=0;
bfs();
if(ans)
printf("Escaped in %d minute(s).\n",ans);
else
printf("Trapped!\n");
}
return 0;
}