#include<iostream>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
const int N=110;
char map[N][N][N];
int d[N][N][N];
bool st[N][N][N];
int bl,bx,by,el,ex,ey;
int l,r,c;
struct point
{
int x, y, z;
};
queue<point> ppq;
int dl[]={-1,1,0,0,0,0},dx[]={0,0,-1,0,1,0},dy[]={0,0,0,1,0,-1};
int bfs()
{
while(ppq.size())
{
auto e=ppq.front();
ppq.pop();
for(int i=0;i<6;i++)
{
int ll=e.x+dl[i],lx=e.y+dx[i],ly=e.z+dy[i];
if(ll>=0&&ll<l&&lx>=0&&lx<r&&ly>=0&&ly<c&&map[ll][lx][ly]!='#'
&&!st[ll][lx][ly])
{
d[ll][lx][ly]=d[e.x][e.y][e.z]+1;
st[ll][lx][ly]=1;
if(el==ll&&ex==lx&&ey==ly)return d[ll][lx][ly];
ppq.push({ll,lx,ly});
}
}
}
return -1;
}
int main()
{
while(cin>>l>>r>>c&&l&&r&&c)
{
memset(map,'.',sizeof(map));
memset(d,-1,sizeof(d));
memset(st,false,sizeof(st));
while(ppq.size())ppq.pop();
for(int i=0;i<l;i++)
{
for(int j=0;j<r;j++)
{
for(int k=0;k<c;k++)
{
cin>>map[i][j][k];
if(map[i][j][k]=='S') bl=i,bx=j,by=k;
if(map[i][j][k]=='E')el=i,ex=j,ey=k;
}
}
}
ppq.push({bl,bx,by});
st[bl][bx][by]=true;
d[bl][bx][by]=0;
int cnt=bfs();
if(cnt==-1)cout<<"Trapped!"<<endl;
else cout<<"Escaped in "<<cnt<<" minute(s)."<<endl;
}
return 0;
}