#include <iostream>
#include <queue>
#include <cstring>
using namespace std;
//英语 看博友分析 bfs
int dx[6]={0,0,0,0,1,-1};
int dy[6]={1,-1,0,0,0,0};
int dz[6]={0,0,1,-1,0,0};
char a[40][40][40];
int dis[40][40][40];
struct nod{
int x;
int y;
int z;
};
queue<nod> que;
int main()
{
while(1)
{
memset(dis,-1,sizeof(dis));
memset(a,0,sizeof(a));
int x,y,z;
cin>>x>>y>>z;
if(x==0 && y==0 && z==0)
{
break;
}
int sx,sy,sz,ex,ey,ez;
for(int k=0;k<x;k++)
{
for(int i=0;i<y;i++)
{
for(int j=0;j<z;j++)
{
cin>>a[k][i][j];
if(a[k][i][j]=='S')
{
sx=k;
sy=i;
sz=j;
}
if(a[k][i][j]=='E')
{
ex=k;
ey=i;
ez=j;
}
}
}
}
/*
for(int k=0;k<x;k++)
{
for(int i=0;i<y;i++)
{
for(int j=0;j<z;j++)
{
cout<<a[k][i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
}*/
que.push((nod){sx,sy,sz});
dis[sx][sy][sz]=0;
while(que.empty()!=1)
{
int tx=que.front().x;
int ty=que.front().y;
int tz=que.front().z;
que.pop();
for(int i=0;i<6;i++)
{
int cx=tx+dx[i];
int cy=ty+dy[i];
int cz=tz+dz[i];
if(cx>=0 && cx<x && cy>=0 && cy<y && cz>=0 && cz<z &&
(dis[cx][cy][cz]==-1||(dis[cx][cy][cz]>(dis[tx][ty][tz]+1))) && a[cx][cy][cz]!='#')
{
dis[cx][cy][cz]=dis[tx][ty][tz]+1;
que.push((nod){cx,cy,cz});
}
}
}
int jg=dis[ex][ey][ez];
if(jg==-1)
{
cout<<"Trapped!"<<endl;
}else
{
cout<<"Escaped in "<<jg<<" minute(s)."<<endl;
}
}
return 0;
}