#include<bits/stdc++.h>
using namespace std;
int n,m,q;
char a[51][51],b[51][51];
int f[3][10001];
int w[1001];
void dfs(int p,int x,int y){
if(p==q+1){
b[x][y]='*';
return ;
}
if(w[p]==1) {
for(int i=x-1;i>=1;i--){
if(a[i][y]=='X')return ;
dfs(p+1,i,y);
}
}
else if(w[p]==-1) {
for(int i=x+1;i<=n;i++){
if(a[i][y]=='X')return ;
dfs(p+1,i,y);
}
}
else if(w[p]==-2) {
for(int j=y-1;j>=1;j--){
if(a[x][j]=='X')return ;
dfs(p+1,x,j);
}
}
else if(w[p]==2){
for(int j=y+1;j<=m;j++){
if(a[x][j]=='X')return ;
dfs(p+1,x,j);
}
}
return ;
}
int main(){
cin>>n>>m;
int x,y;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
if(a[i][j]=='*')x=i,y=j;
}
}
cin>>q;
for(int i=1;i<=q;i++){
string s;
cin>>s;
if(s=="NORTH"){
w[i]=1;
}
else if(s=="WEST"){
w[i]=-2;
}
else if(s=="SOUTH"){
w[i]=-1;
}
else if(s=="EAST"){
w[i]=2;
}
}
f[1][0]=x;f[2][0]=y;
dfs(1,x,y);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(b[i][j]=='*')cout<<'*';
else if(a[i][j]!='*') cout<<a[i][j];
else cout<<'.';
}
cout<<"\n";
}
return 0;
}