#include <bits/stdc++.h>
using namespace std;
int n,m,sx,sy;
int nowx,nowy;
char mapp[105][105];
int mhp,mst,mde;
int blood=0;
int pst,pde;
int q;
void move(int d)
{
if(d==1)nowy--;
if(d==2)nowy++;
if(d==3)nowx--;
if(d==4)nowx++;
}
void getlife()
{
if(blood>=10)blood-=10;
else blood=0;
}
void att()
{
double mmhp=mhp,ppst=pst,mmde=mde,k=1;
int qw=floor(mmhp/(max(k,ppst-mmde)));
blood+=max(1,qw*max(1,mst-pde));
}
void work()
{
if(mapp[nowx][nowy]=='R')getlife();
if(mapp[nowx][nowy]=='Q')pst+=5;
if(mapp[nowx][nowy]=='Y')pde+=5;
if(mapp[nowx][nowy]=='M')att();
}
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>mapp[i][j];
cin>>mhp>>mst>>mde;
cin>>sx>>sy;
nowx=sx,nowy=sy;
cin>>pst>>pde;
cin>>q;
while(q--)
{
int op;
cin>>op;
if(op==1)cout<<blood<<' '<<pst<<' '<<pde<<endl;
else{
int d;
cin>>d;
move(d);
work();
}
}
return 0;
}