#include<bits/stdc++.h>
using namespace std;
const int maxn=35;
char grid[maxn][maxn][maxn];
int vis[maxn][maxn][maxn];
int L,R,C;
int sx,sy,sz,ex,ey,ez;
int dx[]={0,0,1,-1,0,0};
int dy[]={1,-1,0,0,0,0};
int dz[]={0,0,0,0,1,-1};
struct node
{
int x,y,z,t;
};
void BFS()
{
queue<node> q;
node a,b;
a.x=sx,a.y=sy,a.z=sz;
a.t=0;
q.push(a);
while(!q.empty())
{
b=q.front();q.pop();
if(b.z==ez&&b.x==ex&&b.y==ey)
{
printf("Escaped in %d minute(s).\n",b.t);
return;
}
for(int i=0;i<6;i++)
{
node tmp;
tmp.x=b.x+dx[i];
tmp.y=b.y+dy[i];
tmp.z=b.z+dz[i];
if(tmp.x>=1&&tmp.x<=R&&tmp.y>=1&&tmp.y<=C&&tmp.z>=1&&tmp.z<=L&&(grid[tmp.z][tmp.x][tmp.y]!='#')&&(!vis[tmp.z][tmp.x][tmp.y]))
{
tmp.t=b.t+1;
q.push(tmp);
vis[tmp.z][tmp.x][tmp.y]=1;
}
}
}
printf("Trapped!\n");
}
int main()
{
while(scanf("%d%d%d",&L,&R,&C)!=EOF,L+R+C)
{
for(int i=1;i<=L;i++)
{
for(int j=1;j<=R;j++)
{
for(int k=1;k<=C;k++)
{
cin>>grid[i][j][k];
if(grid[i][j][k]=='S'){sz=i,sx=j,sy=k;}
if(grid[i][j][k]=='E'){ez=i,ex=j,ey=k;}
}
}
}
memset(vis,0,sizeof(vis));
vis[sz][sx][sy]=1;
BFS();
}
return 0;
}