#include<bits/stdc++.h>
using namespace std;
int r,c,n;
int vis[51][51][1001];
int d[1001];
int fx[5]={0,-1,0,1,0};
int fy[5]={0,0,-1,0,1};
char ch[51][51],ans[51][51];
string s;
queue <int> qx,qy,qk;
void bfs(){
while(!qx.empty()){
int x=qx.front(),y=qy.front(),k=qk.front();
qx.pop();qy.pop();qk.pop();
for(int i=1;i<=50;i++){
int nx=x+i*fx[d[k]],ny=y+i*fy[d[k]];
if(nx>=1 && nx<=r && ny>=1 && ny<=c){
if(ch[nx][ny]=='.'){
if(k==n){
ans[nx][ny]='*';
}else if(vis[nx][ny][k+1]==0){
qx.push(nx);
qy.push(ny);
qk.push(k+1);
vis[nx][ny][k+1]=1;
}
}else break;
}else break;
}
}
}
int main(){
cin>>r>>c;
for(int i=1;i<=r;i++){
for(int j=1;j<=c;j++){
cin>>ch[i][j];
ans[i][j]=ch[i][j];
if(ch[i][j]=='*'){
qx.push(i);qy.push(j);qk.push(1);
vis[i][j][1]=1;
ans[i][j]='.';
}
}
}
cin>>n;
for(int i=1;i<=n;i++){
cin>>s;
if(s=="NORTH") d[i]=1;
else if(s=="WEST") d[i]=2;
else if(s=="SOUTH") d[i]=3;
else if(s=="EAST") d[i]=4;
}
bfs();
for(int i=1;i<=r;i++){
for(int j=1;j<=c;j++){
cout<<ans[i][j];
}
cout<<endl;
}
return 0;
}