#include<iostream>
#include<cstdio>
#include<queue>
using namespace std;
int l,r,c,bl,br,bc,el,er,ec;
char a[32][32][32]={0},s;
struct node{
int dd,xx,yy;
long long time;
};
queue <node> Q;
int main(){
while(scanf("%d",&l)){
scanf("%d %d",&r,&c);
if(l==0&&r==0&&c==0){
break;
}
for(int i=1;i<=l;i++){
for(int j=1;j<=r;j++){
for(int k=1;k<=c;k++){
do scanf("%c",a[i][j]+k);
while(a[i][j][k]=='\n');
if(a[i][j][k]=='S'){
bl=i,br=j,bc=k;
}
if(a[i][j][k]=='E'){
el=i,er=j,ec=k;
}
}
}
}
node m;
m.dd=bl,m.xx=br,m.yy=bc,m.time=0;
Q.push(m);
bool flag=1;
while(!Q.empty()){
int d=Q.front().dd,x=Q.front().xx,y=Q.front().yy;
long long t=Q.front().time;
a[d][x][y]='#';
Q.pop();
if(d==el&&x==er&&y==ec){
printf("Escaped in %d minute(s).",t);
flag=0;
break;
}
if(a[d][x-1][y]!='#'&&x-1>=1){
node m;
m.dd=d,m.xx=x-1,m.yy=y,m.time=t+1;
Q.push(m);
}
if(a[d][x+1][y]!='#'&&x+1<=r){
node m;
m.dd=d,m.xx=x+1,m.yy=y,m.time=t+1;
Q.push(m);
}
if(a[d][x][y-1]!='#'&&y-1>=1){
node m;
m.dd=d,m.xx=x,m.yy=y-1,m.time=t+1;
Q.push(m);
}
if(a[d][x][y+1]!='#'&&y+1<=c){
node m;
m.dd=d,m.xx=x,m.yy=y+1,m.time=t+1;
Q.push(m);
}
if(a[d+1][x][y]!='#'&&d+1<=l){
node m;
m.dd=d+1,m.xx=x,m.yy=y,m.time=t+1;
Q.push(m);
}
if(a[d-1][x][y]!='#'&&d-1>=1){
node m;
m.dd=d-1,m.xx=x,m.yy=y,m.time=t+1;
Q.push(m);
}
}
if(flag){
printf("Trapped!");
}
}
return 0;
}