#include<bits/stdc++.h>
using namespace std;
bool f=0,vis[1001][1001],a1;
char c[1001][1001];
int n,m,a,b,s,l;
int dx[8]={-1,-1,0,1,1,1,0,-1},dy[8]={0,-1,-1,-1,0,1,1,1};
void ani(int n,int xx,int yy){
int ans[8]{0},mi=1e9;
for(int i=1;i<=n;i++){
for(int j=0;j<8;j++){
//cout<<xx<<" "<<yy<<" "<<c[xx][yy]<<endl;
xx+=(dx[j]*i);
yy+=(dy[j]*i);
//cout<<xx<<" "<<yy<<" "<<c[xx][yy]<<endl;
if(c[xx][yy]=='H')
ans[j]++;
//cout<<xx<<" "<<yy<<" "<<c[xx][yy]<<endl;
xx-=(dx[j]*i);
yy-=(dy[j]*i);
}
}
for(int i=0;i<=7;i++){
//cout<<ans[i]<<endl;
if(ans[i]<mi){
mi=ans[i];
l=i;
}
}
}
void w(int x1,int x,int y){
if(c[x][y]=='H') return ;
while(x1--){
int xx=x+dx[l];
int yy=y+dy[l];
if(!vis[xx][yy]){
vis[xx][yy]=1;
if(c[xx][yy]=='H') return ;
if(c[xx][yy]=='F'||c[xx][yy]=='P'||c[xx][yy]=='L'||c[xx][yy]=='T'||c[xx][yy]=='R'||c[xx][yy]=='B'){
switch(c[xx][yy]){
case 'F': case 'P':{
ani(1,xx,yy);
//cout<<1<<endl;
break;
}
case 'L': case 'T':{
ani(2,xx,yy);
//cout<<2<<" "<<c[xx][yy]<<endl;
break;
}
default :{
ani(3,xx,yy);
break;
}
}
}
else{
cout<<1<<" ";
if(xx<1||yy<1||xx>n||yy>m){
f=1;
cout<<l<<" "<<x<<" "<<y<<endl;
return ;
}
cout<<xx<<" "<<yy<<endl;
}
}
}
}
int main(){
cin>>n>>m>>a>>b>>s;
for(int i=0;i<=m;i++){
c[0][i]=NULL;
c[n+1][i]=NULL;
}
for(int i=0;i<=n;i++){
c[i][0]=NULL;
c[i][m+1]=NULL;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>c[i][j];
vis[a][b]=1;
for(int i=0;i<=7;i++){
l=i;
w(s,a,b);
memset(vis,0,sizeof vis);
vis[a][b]=1;
a1=0;
}
if(f==0) cout<<"Poor little fox, you can't get away!";
}
WA30分